我有一个类Data<T>
,我用它来存储通信链接上收到的数据。 Data<T>
类包含Value
类型的T
属性和Timestamp
类型的DateTime
属性。
是否可以在类构造函数中确定所请求类型的默认值是null
,并在那种情况下实例化它?
我查看了new()
类约束。但是我在使用字符串类型的类时遇到了麻烦,因为我收到的字符串错误没有无参数构造函数。
这是一个在dataValue4.Value
上导致NullReferenceException的示例,因为类型Value
的{{1}}属性未实例化。
Foo
答案 0 :(得分:0)
您可以使用Activator创建实例。
var type = typeof(T);
var value = Activator.CreateInstance(type) as T;
这将创建一个具有该类型默认值的实例。