将不同的数据类型分配给类的不同实例?

时间:2012-12-04 13:59:53

标签: c#

采取以下样本:

enter image description here

我想向名为PreferenceOption的{​​{1}}添加一个属性,因为DataType的不同实例可能是PreferenceOptionbool等。

有办法做到这一点吗?如果是,怎么样?

我在考虑类似string的内容,但在创建public ValueType DataType { get; set; }的实例时:

PreferenceOption

这不起作用,但应该很好地了解我想要做什么。

有什么建议吗?

编辑(答案):使用下面选择的答案,这是我现在正在使用的内容(对模糊图像道歉!):

PreferenceOption WantsHouse = new PreferenceOption () { PreferenceOption = "Want House?", Weighting = Weighting.Low, Type = bool };

3 个答案:

答案 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;