有没有办法将参数从一个功能复制到我当前的功能'动态'?
前:
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 ..
我想使用这个新函数,与原始函数完全一样,除了在函数中包含额外的代码。
**这是我正在做的事情的一个愚蠢/纯粹的例子,但实际上,它要复杂得多......而且不想复制我所有的事情。 每个函数的每次参数..和一些函数是 动态创建..所以我只是保持示例非常 简单。
答案 0 :(得分:0)
AFAIK功能不支持inhertiance。您需要复制/粘贴公共参数/代码。
如果您对C#感到满意,可以使用二进制模块创建cmdlet。然后,您可以使用抽象类作为常用参数。您可能必须为属性创建简单的覆盖 - “包装器”,以便将它们包含在ParameterSet中。
实施例
public abstract class FrodeCommandBase : PSCmdlet
{
#properties, getters setters etc.
}
public class GetFrodeCommand: FrodeCommandBase
{
}
您可能必须为属性创建简单的覆盖 - “包装器”,以便将它们包含在ParameterSet中。