C# 如何创建具有变量值的参数类
我想创建一个params集合。使用泛型创建集合非常简单:C# 如何创建具有变量值的参数类,c#,.net,generics,properties,C#,.net,Generics,Properties,我想创建一个params集合。使用泛型创建集合非常简单: List<Param> Params = new List<Param>(); 我建议创建一个泛型子类: public Param<T> : Param { public T Value { get; set; } } 然后像这样使用它: List<Param> Params = new List<Param>() { new Param() { Label
List<Param> Params = new List<Param>();
我建议创建一个泛型子类:
public Param<T> : Param
{
public T Value { get; set; }
}
然后像这样使用它:
List<Param> Params = new List<Param>() {
new Param() { Label = "Param 1", Type = Param.ParamType.Text },
new Param() { Label = "Param 2", Type = Param.ParamType.Select }
}
new Param<string>() { Label = "Param 1", Type = Param.ParamType.Text, Value = "text" },
new Param<string>() { Label = "Param 1", Type = Param.ParamType.Text, Value = "text" },
new Param<bool>() { Label = "Param 1", Type = Param.ParamType.CheckBox, Value = true }
Param.From("Param 1", Param.ParamType.Text, "text"),
Param.From("Param 1", Param.ParamType.Text, "text"),
Param.From("Param 1", Param.ParamType.CheckBox, true)
但这样你就不能创建一个List@Alberto当然可以。Param是非泛型基类型。新列表{new Param…}将正常工作,因为Param是Param的子类。
public class Param
{
...
public static Param<T> From<T>(string label, ParamType type, T value)
{
return new Param<T>()
{
Label = label,
Type = type,
Value = value
}
}
}
Param.From("Param 1", Param.ParamType.Text, "text"),
Param.From("Param 1", Param.ParamType.Text, "text"),
Param.From("Param 1", Param.ParamType.CheckBox, true)