Type classType = typeof(ClassName); // 获取类的type string path = fullName + "," + assemblyName;//命名空间.类型名,程序集 Type classType = Type.GetType(path);//加载类型 Type classType = Type.GetType("类的完全限定名"); // 也可以根据类的完全限定名得到type
object myObj = Activator.CreateInstance(ClassType); //创建对象
PropertyInfo propertyInfo = classType.GetProperty("属性名称"); //获取到属性 Type pt = propertyInfo.PropertyType; //获取到属性的type
propertyInfo.SetValue(myObj, xxx); //xxx是需要进行赋值的值,类型必须跟此属性一致,否则会报错 propertyInfo.SetValue(myObj, Convert.ChangeType(xxx, pt)); //xxx是需要进行赋值的值,增加了类型转换,如果属性是Nullable,转换时会报错 propertyInfo.SetValue(myObj, propertyInfo.PropertyType.Name.Contains("Nullable") ? Convert.ChangeType(xxx, Nullable.GetUnderlyingType(pt)) : Convert.ChangeType(xxx, pt)); ///xxx是需要进行赋值的值,增加了类型转换和Nullable判断,终极用法
标签:pt,C#,xxx,创建对象,propertyInfo,myObj,Type,赋值 From: https://www.cnblogs.com/fireicesion/p/18280570