动态复制命令的参数

时间:2016-01-21 19:12:22

标签: function powershell parameters

有没有办法将参数从一个功能复制到我当前的功能'动态'?

前:

config.Routes.MapHttpRoute("SomeApiProxy", "api/someapi/{*path}",
    handler: HttpClientFactory.CreatePipeline(new HttpClientHandler(), new DelegatingHandler[] {new ForwardingProxyHandler(new Uri("http://some-api.com/api/v2/"))}),
    defaults: new {path = RouteParameter.Optional},
    constraints: null
);

我需要它是一个精确的副本,带有开关,强制性,ParameterSets ..

我想使用这个新函数,与原始函数完全一样,除了在函数中包含额外的代码。

  

**这是我正在做的事情的一个愚蠢/纯粹的例子,但实际上,它要复杂得多......而且不想复制我所有的事情。   每个函数的每次参数..和一些函数是   动态创建..所以我只是保持示例非常   简单。

1 个答案:

答案 0 :(得分:0)

AFAIK功能不支持inhertiance。您需要复制/粘贴公共参数/代码。

如果您对C#感到满意,可以使用二进制模块创建cmdlet。然后,您可以使用抽象类作为常用参数。您可能必须为属性创建简单的覆盖 - “包装器”,以便将它们包含在ParameterSet中。

实施例

public abstract class FrodeCommandBase : PSCmdlet
{
    #properties, getters setters etc.
}

public class GetFrodeCommand: FrodeCommandBase
{
}

您可能必须为属性创建简单的覆盖 - “包装器”,以便将它们包含在ParameterSet中。