[英]In C# is there a way retrieve only built-in data type properties using reflection
使用反射我只想从C#对象中检索内置数据类型属性。 有没有更好的方法,然后使用一堆||
(ors)在Where
方法中指定我感兴趣的类型?
Type sourceType = typeof(TSource);
var props = sourceType.GetProperties()
.Where(pi => pi.PropertyType == typeof(int)
|| pi.PropertyType == typeof(string)); // .... etc.
它们都在System命名空间中,因此您至少可以过滤到命名空间,除此之外,至少列表不会太长。 你不会链接Where's,你使用||的,代码将不起作用。
你在寻找BCL的整体类型吗? 或仅限值类型? (IE整数,字符等)
如果是这样,你可以测试pi.PropertyType.IsPrimitive()然后测试字符串类型作为or子句的一部分...
var props = sourceType.GetProperties()
.Where(pi => .PropertyType.IsPrimitive
|| pi.PropertyType == typeof(string))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.