本文整理汇总了C#中System.Management.Automation.ScriptBlock.InvokeWithPipe方法的典型用法代码示例。如果您正苦于以下问题:C# ScriptBlock.InvokeWithPipe方法的具体用法?C# ScriptBlock.InvokeWithPipe怎么用?C# ScriptBlock.InvokeWithPipe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Management.Automation.ScriptBlock
的用法示例。
在下文中一共展示了ScriptBlock.InvokeWithPipe方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PSModuleInfo
public PSModuleInfo(ScriptBlock scriptBlock)
{
this._name = string.Empty;
this._path = string.Empty;
this._description = string.Empty;
this._version = new System.Version(0, 0);
this._detectedFunctionExports = new List<string>();
this._detectedWorkflowExports = new List<string>();
this._detectedCmdletExports = new List<string>();
this._compiledExports = new List<CmdletInfo>();
this._fileList = new List<string>();
this._moduleList = new Collection<object>();
this._nestedModules = new List<PSModuleInfo>();
this._scripts = new List<string>();
this._requiredAssemblies = new Collection<string>();
this._requiredModules = new List<PSModuleInfo>();
this._requiredModulesSpecification = new List<ModuleSpecification>();
this._detectedAliasExports = new Dictionary<string, string>();
this._exportedFormatFiles = new ReadOnlyCollection<string>(new List<string>());
this._exportedTypeFiles = new ReadOnlyCollection<string>(new List<string>());
if (scriptBlock == null)
{
throw PSTraceSource.NewArgumentException("scriptBlock");
}
ExecutionContext executionContextFromTLS = LocalPipeline.GetExecutionContextFromTLS();
if (executionContextFromTLS == null)
{
throw new InvalidOperationException("PSModuleInfo");
}
SetDefaultDynamicNameAndPath(this);
this._sessionState = new System.Management.Automation.SessionState(executionContextFromTLS, true, true);
this._sessionState.Internal.Module = this;
SessionStateInternal engineSessionState = executionContextFromTLS.EngineSessionState;
try
{
executionContextFromTLS.EngineSessionState = this._sessionState.Internal;
executionContextFromTLS.SetVariable(SpecialVariables.PSScriptRootVarPath, this._path);
scriptBlock = scriptBlock.Clone(true);
scriptBlock.SessionState = this._sessionState;
Pipe outputPipe = new Pipe {
NullPipe = true
};
scriptBlock.InvokeWithPipe(false, ScriptBlock.ErrorHandlingBehavior.WriteToCurrentErrorPipe, AutomationNull.Value, AutomationNull.Value, AutomationNull.Value, outputPipe, null, new object[0]);
}
finally
{
executionContextFromTLS.EngineSessionState = engineSessionState;
}
}