YieldDynamicOption() public abstract method

Used by a provider to return the fields for a Metadata Definition The cmdlets can use this to supply tab-completion for metadata to the user.
public abstract YieldDynamicOption ( string name, string expectedType, bool isRequired ) : bool
name string the provider-defined name of the option
expectedType string one of ['string','int','path','switch']
isRequired bool if the parameter is mandatory
return bool
        /// <summary>
        /// Returns dynamic option definitions to the HOST
        ///
        /// example response:
        ///     request.YieldDynamicOption( "MySwitch", OptionType.String.ToString(), false);
        ///
        /// </summary>
        /// <param name="category">The category of dynamic options that the HOST is interested in</param>
        /// <param name="request">An object passed in from the CORE that contains functions that can be used to interact with the CORE and HOST</param>
        public void GetDynamicOptions(string category, Request request)
        {
            request.Debug("Calling '{0}::GetDynamicOptions' {1}", PackageProviderName, category);

            switch ((category ?? string.Empty).ToLowerInvariant())
            {
                case "package":
                    //request.YieldDynamicOption("FilterOnTag", Constants.OptionType.StringArray, false);
                    //request.YieldDynamicOption("Contains", Constants.OptionType.String, false);
                    //request.YieldDynamicOption("AllowPrereleaseVersions", Constants.OptionType.Switch, false);
                    break;

                case "source":
                    request.YieldDynamicOption("ConfigFile", Constants.OptionType.String, false);
                    //request.YieldDynamicOption("SkipValidate", Constants.OptionType.Switch, false);
                    break;

                // applies to Get-Package, Install-Package, Uninstall-Package
                case "install":
                    request.YieldDynamicOption("Destination", "Folder", false);
                    //request.YieldDynamicOption("SkipDependencies", Constants.OptionType.Switch, false);
                    //request.YieldDynamicOption("ContinueOnFailure", Constants.OptionType.Switch, false);
                    //request.YieldDynamicOption("ExcludeVersion", Constants.OptionType.Switch, false);
                    break;
                default:
                    request.Debug("Unknown category for '{0}::GetDynamicOptions': {1}", PackageProviderName, category);
                    break;
            }
        }