过载发生器

mbu*_*ill 0 c#

是否有应用程序或网站,我可以输入参数信息(类型和变量名称),它们的默认值,并让它生成方法重载的所有组合?

我有一个类,构造函数可以接受五个不同类型的参数.参数被映射到属性,其中没有一个具有公共setter.每个参数都有一个默认值.

我希望我的类为所有参数的各种组合(从无参数到五个参数的任何和所有组合)重载构造函数.为了使其更加混乱,其中一个参数可以作为特定类型或字符串传递,并且我希望各种重载组合将其考虑在内.

更新:

我同意这种设计可能不是最好的.有问题的类是我使用的类似于WPF的DependencyProperty的PropertyMetadata类的类.为属性支持分配值,并在此时传入元数据类的新实例.它迫使我的手创建这个级联的构造函数重载系列.例:

private ModelProperty<UserModel, string> firstNameProperty =
  RegisterProperty(p => p.FirstName, new ModelPropertyMetadata(**** lots of overloads here ****));
public string FirstName
{
     get { return GetValue(firstNameProperty); }
     set { SetValue(firstNameProperty, value); }
}
Run Code Online (Sandbox Code Playgroud)

也许这不是最好的设计.我可以将ModelPropertyMetadata扩展到描述特定重载的新类,但这似乎就像是将问题推到了其他地方.关于如何改进这种设计的任何想法?

Ode*_*ded 5

看看可选参数 - 这些应该可以帮助您避免多次重载,并且仍然提供多种方法来调用构造函数.这是.NET 4.0的一项功能.