如何通过Reflection C#获取类中属性的数据类型

时间:2014-11-12 06:50:37

标签: c# .net properties .net-assembly system.reflection

我有一个名为MyNamespace.Demo1的名称空间,一个名为STClass的静态类和一个名为prpAssm的类中的一个属性。如何获取属性prpAssm的数据类型?

2 个答案:

答案 0 :(得分:2)

Type classType = typeof(STClass);
PropertyInfo propertyInfo = classType.GetProperty("prpAssm");
Type propertyType = propertyInfo.PropertyType;

如果该类在另一个项目中,则应加载该程序集。

var assembly = Assembly.LoadFrom(@"MyNamespace.Demo1.dll");
Type classType = assembly.GetType("MyNamespace.Demo1.STClass");
PropertyInfo propertyInfo = classType.GetProperty("prpAssm");
Type propertyType = propertyInfo.PropertyType;

BR

答案 1 :(得分:0)

试试这个: - (使用PropertyInfo

Assembly myAss = Assembly.LoadFile(@"YourAssemblyPath.dll");
Type myType = myAss.GetType("MyNamespace.Demo1.STClass");
PropertyInfo myProp = myType.GetProperty("prpAssm");
Console.WriteLine(myProp.PropertyType);