Mar*_* Ch 9 c# reflection types
我正在尝试使用反射获取我的类的属性类型,但它返回我唯一的RuntimePropertyInfo - 作为类型的名称.
我有对象MyObject actualData - 它包含属性 - "name"作为字符串,"Item"作为我的类型DatumType
当我调试时,我可以看到,actualData有2个属性,第一个是字符串类型,第二个是DatumType,但是当我使用它时:
string typeName = actualData.getType().getProperty("Item").getType().Name - 它返回RuntimePropertyInfo,而不是DatumType
你能看出我做错了什么吗?我正在使用C# - .Net 4.0.非常感谢!
C.E*_*uis 14
你得到的PropertyInfo对象类型getProperty()返回.尝试
string typeName = actualData.getType().getProperty("Item").PropertyType.Name;
Run Code Online (Sandbox Code Playgroud)
如果您想要通过PropertyInfo对象当前分配给对象的值的类型,您可以调用:
string typeName = actualData.getType().getProperty("Item").GetValue(actualData, null).GetType().Name;
Run Code Online (Sandbox Code Playgroud)
但在这种情况下你也可以简单地打电话:
string typeName = actualData.Item.GetType().Name;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22474 次 |
| 最近记录: |