2012-12-05 40 views
0

我使用这样的所有属性,跳绳ExtensionData在检索类

var propertyinfo = class_simple.GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public)); 

,我得到了class_simple的所有公共属性与extensiondata一起。

现在,我如何真的跳过这个扩展数据,并通过循环propertyinfo?使用其他属性?

在此先感谢您的建议。

回答

0

假设ExtensionData在类属性的名称:

var allButExtensionData = propInfos.Where(p => p.Name != "ExtensionData" 
      || typeof(DataMemberAttribute).IsAssignableFrom(p.PropertyType)); 
foreach (var prop in allButExtensionData) 
{ 
    // ... 
} 
+0

我们不能用某种类型的检查?这是使用名称检查的最佳方法吗?也许像typeof(DataMemberAttribute) –

+0

@nowhewhomustnotbenamed .:编辑我的答案。 –