c# - 如何通过反射代码(c#)设置可空类型?

标签 c# reflection

我需要使用反射设置类的属性。

我有一个 Dictionary<string,string>带有属性名称和字符串值。

在反射循环中,我需要在为每个属性设置值时将字符串值转换为适当的属性类型。其中一些属性类型是可为 null 的类型。

  1. 我如何从 PropertyInfo 知道该属性是否为可空类型?
  2. 如何使用反射设置可为 null 的类型?

编辑: 此博客评论中定义的第一种方法似乎也可以解决问题: http://weblogs.asp.net/pjohnson/archive/2006/02/07/437631.aspx

最佳答案

  1. 一种方法是:

    type.GetGenericTypeDefinition() == typeof(Nullable<>)
    
  2. 只需按照任何其他反射代码进行设置:

    propertyInfo.SetValue(yourObject, yourValue);
    

关于c# - 如何通过反射代码(c#)设置可空类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446522/

相关文章:

java - 是否可以使用反射从 Java 类中检索所有成员,包括私有(private)成员?

c# - 调用asmx webservice时如何为base64Binary发送数据

c# - 身份的扩展

c# - 如何在 RavenDB 中查询包含指定类型的嵌套对象的文档

c# - 单击文本框后删除文本

c# - Assembly.GetAssembly(类型)与类型.Assembly

c# - 如何使用反射将一个类中的常量字符串字段链接到另一个类中的只读对象字段

c# - 如何获取程序集中的所有基本类型?

java - 使用反射查找 JNI 中的 Java 类是否为 Final

c# - 在 .net 中设置 telerik RadFileExplorer 的 ViewPaths