public static void SetParameterInterceptor <TCmdlet>( [NotNull] this TCmdlet cmdlet, [NotNull] IParameterInterceptor interceptor) where TCmdlet : Cmdlet { if (cmdlet is null) { throw new ArgumentNullException(nameof(cmdlet)); } if (interceptor is null) { throw new ArgumentNullException(nameof(interceptor)); } var context = DynamicParameterContext.GetContext(cmdlet); context.SetParameterInterceptor(interceptor); }
public static DynamicParameterInstance EnableDynamicParameter <TCmdlet>( [NotNull] this TCmdlet cmdlet, [NotNull] DynamicParameterDescriptor parameterDescriptor) where TCmdlet : Cmdlet { if (cmdlet is null) { throw new ArgumentNullException(nameof(cmdlet)); } if (parameterDescriptor is null) { throw new ArgumentNullException(nameof(parameterDescriptor)); } var context = DynamicParameterContext.GetContext(cmdlet); var instance = context.EnableParameter(parameterDescriptor); return(instance); }
public static object GetDynamicParameterObject <TCmdlet>( [NotNull] this TCmdlet cmdlet, [NotNull] IDynamicParameterObjectBuilder factory) where TCmdlet : Cmdlet { if (cmdlet is null) { throw new ArgumentNullException(nameof(cmdlet)); } if (factory is null) { throw new ArgumentNullException(nameof(factory)); } var context = DynamicParameterContext.GetContext(cmdlet); var dynamicParameterObject = context.GetDynamicParameterObject(factory); return(dynamicParameterObject); }
public static void PopulateRuntimeDefinedParameterValues <TCmdlet>( [NotNull] this TCmdlet cmdlet, [NotNull] RuntimeDefinedParameterDictionary runtimeDefinedParameters) where TCmdlet : Cmdlet { if (cmdlet is null) { throw new ArgumentNullException(nameof(cmdlet)); } if (runtimeDefinedParameters is null) { throw new ArgumentNullException(nameof(runtimeDefinedParameters)); } var context = DynamicParameterContext.GetContext(cmdlet); foreach (var parameter in runtimeDefinedParameters.Values) { context.SetParameterValue(parameter.Name, parameter.Value); } }
public static bool TryGetParameter <TCmdlet>( [NotNull] this TCmdlet cmdlet, [NotNull] string parameterName, [NotNull] out DynamicParameterInstance parameter) where TCmdlet : Cmdlet { if (cmdlet is null) { throw new ArgumentNullException(nameof(cmdlet)); } if (parameterName is null) { throw new ArgumentNullException(nameof(parameterName)); } var context = DynamicParameterContext.GetContext(cmdlet); bool enabled = context.TryGetParameter(parameterName, out parameter); return(enabled); }