使用反射C#获取字段和属性的方法

时间:2019-04-12 10:13:58

标签: c# reflection

我在代码中使用了两个数组:

 var fields = typeof(MyDtoClass).GetProperties();
 var fieldsOfDtoClass = typeof(MyDtoClass).GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);

但是我用它来生成一张表,并且可能不同步。我如何使用一个数组,但可以在一个位置获得属性,而在另一个位置获得此类标志?我应该查看GetMembers还是smth?任何帮助都非常感激

1 个答案:

答案 0 :(得分:0)

使用班级名称

typeof(YourClass).GetMethod("METHOD_NAME");
typeof(YourClass).GetProperty("PROPERTY_NAME");

使用实例

yourInstance.GetType().GetMethod("METHOD_NAME");
yourInstance.GetType().GetProperty("PROPERTY_NAME");

要枚举所有属性

foreach (var property in typeof(YourClass)) {
 Console.WriteLine(property);
}

使用Linq枚举它们的相同方法

typeof(YourClass).GetMethods()
                 .Select(method => method.Name == "GetType");

Official Documentation