采取以下样本:
我想向名为PreferenceOption
的{{1}}添加一个属性,因为DataType
的不同实例可能是PreferenceOption
或bool
等。
有办法做到这一点吗?如果是,怎么样?
我在考虑类似string
的内容,但在创建public ValueType DataType { get; set; }
的实例时:
PreferenceOption
这不起作用,但应该很好地了解我想要做什么。
有什么建议吗?
编辑(答案):使用下面选择的答案,这是我现在正在使用的内容(对模糊图像道歉!):
PreferenceOption WantsHouse = new PreferenceOption () { PreferenceOption = "Want House?", Weighting = Weighting.Low, Type = bool };
答案 0 :(得分:3)
使用通用类;
public class PreferenceOption<T>
{
public T PreferenceOption {get;set;}
public string PreferenceOptionName {get;set;}
}
PreferenceOption WantsHouse = new PreferenceOption<bool> () { PreferenceOption = true, Weighting = Weighting.Low, PreferenceOptionName ="asd"};
PreferenceOption WantsHouse2 = new PreferenceOption<string> () { PreferenceOption = "this is a string", Weighting = Weighting.Low, PreferenceOptionName="qwe"};
答案 1 :(得分:1)
使用Type
public Type DataType { get; set; }
DataType = typeof(bool)
答案 2 :(得分:1)
您可以将课程设为Generic。
PreferenceOption<bool> WantsHouse;
PreferenceOption<string> HouseName;