如何迭代c#中在编译时不可用的第三方对象的成员
本文关键字:编译 对象 第三方 成员 何迭代 迭代 | 更新日期: 2023-09-27 18:05:47
我有一个winforms控件,它有一个父控件,是第三方。我想看看它有哪些成员
.GetType().Name
给我的类型(这是LayoutTable)
问题是LayoutTable在编译时不存在,因为这是一个加载到框架中的dll,所以我需要在运行时这样做。
如果它在编译时可用,我可以这样做:
PropertyInfo[] properties = typeof(LayoutTable).GetProperties();
foreach (PropertyInfo property in properties)
...
来获取属性,但我如何在运行时做到这一点?
LayoutTable是基于Control的,因为我首先使用Control来访问它,所以我需要在循环其成员之前将其转换为LayoutTable。
谁能帮我一下。
object myObj; //this can be anything
PropertyInfo[] properties = myObj.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
}
其余部分保持不变-根本不需要转换它,因为Reflection工作在元数据上(在运行时确定)。