c# - 使用反射c#获取字段和属性的方法
问题描述
我在我的代码中使用了两个数组:
var fields = typeof(MyDtoClass).GetProperties();
var fieldsOfDtoClass = typeof(MyDtoClass).GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
但我用它来生成一个表,并且可能不同步。我怎样才能使用一个数组,但可以在一个地方获得属性,而在另一个地方字段这个这样的标志?我应该查看 GetMembers 还是 smth?任何帮助深表感谢
解决方案
使用类名
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");
推荐阅读
- java - 将字符串的一部分变成可点击的链接
- c# - 第一次单击异步按钮时,UI 冻结 5 秒
- c++ - 读取整数的二进制文件
- python - 基于多个事件的Django调用函数
- java - getresource() 空指针的问题
- arrays - 无法正确循环数组条件失败-reactjs
- java - 有没有办法在运行时访问和修改 Eclipse 插件的源代码?
- java - 无需遍历所有像素即可替换图像中的颜色
- java - java是否可以在数组中插入算术运算符(+ - / *)?
- laravel - 在新的 laravel 文件中执行“npm run”时出错 - 找不到模块 npm-cli.js