2

我正在尝试在运行时获取类成员变量列表。我知道这可能使用 typeof 和反射。但找不到一个例子。请有人为我照亮。

这是伪代码示例:

Class Test01
{ 
 public string str01;
 public string str02;
 public int myint01;
}

我想要这样的东西(伪代码):

Test01 tt = new Test01();
foreach(variable v in tt.PublicVariableList)
{
   debug.print v.name;
   debug.print v.type;
}

请帮我弄清楚如何在 C# VS2005 中执行此操作

非常感谢

4

2 回答 2

9

如果您追求公共领域,只需使用tt.GetType().GetFields()

如果您需要其他成员,请使用GetProperties()GetMethods()GetEvents()等获取特定成员,或使用GetMembers()获取所有成员。

如果您想访问非公共成员,或者将搜索限制为静态成员(或仅限于实例成员),则每个方法都有一个接受 BindingFlags 的重载。

于 2008-12-04T07:35:09.633 回答
1
foreach (MemberInfo mi in tt.GetType().GetMembers()) ...
于 2008-12-04T07:36:05.857 回答