C# 遍历类的成员
时间: 2024-10-06 19:03:38 浏览: 59
在C#中,遍历类的所有成员通常包括公共属性、字段、方法、事件等,可以使用反射API来实现。以下是几种常见的方法:
1. **通过`Type.GetProperties()`** 获取所有公开属性:
```csharp
Type type = typeof(MyClass);
foreach (PropertyInfo property in type.GetProperties())
{
Console.WriteLine($"属性名称: {property.Name}, 类型: {property.PropertyType}");
}
```
2. **通过`Type.GetFields()`** 获取所有字段:
```csharp
foreach (FieldInfo field in type.GetFields())
{
Console.WriteLine($"字段名称: {field.Name}, 类型: {field.FieldType}");
}
```
3. **通过`Type.GetMethods()`** 获取所有公开方法:
```csharp
foreach (MethodInfo method in type.GetMethods())
{
Console.WriteLine($"方法名称: {method.Name}, 返回类型: {method.ReturnType}");
}
```
4. **通过`typeof(T).GetEvents()`** 获取所有公开事件:
```csharp
foreach (EventInfo eventInfo in type.GetEvents())
{
Console.WriteLine($"事件名称: {eventInfo.Name}");
}
```
注意这些方法都默认考虑了私有成员,如果只对公开成员感兴趣,需要传入`BindingFlags.Public`作为参数。
阅读全文
相关推荐




















