C# 获取没有实例的字段类型默认值

C# 获取没有实例的字段类型默认值,c#,C#,我想获取字段类型的默认值。 我希望有以下类似的代码(当然不会编译): 有什么方法可以做到这一点吗?首先,您需要进行反射以获得适当的字段: var field = typeof(foo).GetField("intf"); 现在您可以获得该字段的返回类型: var type = field.FieldType 最后,您可以从以下位置获取类型默认值,例如使用此方法: 首先,您需要进行反射,以获得适当的字段: var field = typeof(foo).GetField("intf"); 现

我想获取字段类型的默认值。 我希望有以下类似的代码(当然不会编译):


有什么方法可以做到这一点吗?

首先,您需要进行反射以获得适当的字段:

var field = typeof(foo).GetField("intf");
现在您可以获得该字段的返回类型:

var type = field.FieldType
最后,您可以从以下位置获取类型默认值,例如使用此方法:


首先,您需要进行反射,以获得适当的字段:

var field = typeof(foo).GetField("intf");
现在您可以获得该字段的返回类型:

var type = field.FieldType
最后,您可以从以下位置获取类型默认值,例如使用此方法:


您可以尝试在
反射
上进行搜索,然后查看结果如何?如果该属性/字段是您知道的,那么它将是
int
,为什么不直接执行
默认值(int)
?否则,正如@JohnB所说,您可以使用反射绑定类属性并漫游它。因此
int
的默认
值为0。在您的类
构造函数中
如果不适合您的需要,您可以将它们初始化为一些
众所周知的
值。您可以尝试在
反射
上进行搜索,看看如何处理?如果该属性/字段是您知道的,那么它将是
int
为什么不直接执行
默认值(int)
?否则,正如@JohnB所说,您可以使用反射绑定类属性并漫游它。因此
int
的默认
值为0。在您的类
构造函数中
如果不适合您的需要,您可以将这些初始化为一些
众所周知的
值。