Beispiel #1
0
        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);
        }
Beispiel #2
0
        public object GetDynamicParameterObject(
            [NotNull] IDynamicParameterObjectBuilder factory)
        {
            if (factory is null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            if (!this._compoundParametersProcessed)
            {
                this.ProcessCompoundParameters();

                this._compoundParametersProcessed = true;
            }

            if (!this._dynamicParameterObjects.TryGetValue(factory, out var obj))
            {
                this._dynamicParameterObjects[factory] = obj = factory.GetDynamicParameterObject(this);
            }

            return(obj);
        }