在C#中,有一种方法可以使用reflection检索内置数据类型属性
使用reflection我想从C#对象中仅检索内置数据类型属性。 有没有更好的方法,然后使用一堆||
(ors)在Where
方法中指定我感兴趣的类型?
Type sourceType = typeof(TSource); var props = sourceType.GetProperties() .Where(pi => pi.PropertyType == typeof(int) || pi.PropertyType == typeof(string)); // .... etc.
你在寻找BCL的整体类型吗? 或者只是价值类型? (IE整数,字符等)
如果是这样,你可以测试pi.PropertyType.IsPrimitive()然后测试字符串类型作为or子句的一部分…
var props = sourceType.GetProperties() .Where(pi => .PropertyType.IsPrimitive || pi.PropertyType == typeof(string))
它们都在System命名空间中,因此您至少可以过滤到命名空间,除此之外,至少列表不会太长。 你不会链接Where’s,你使用||的,代码将不起作用。
上述就是C#学习教程:在C#中,有一种方法可以使用reflection检索内置数据类型属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1043078.html