2013-07-05 51 views
1

任何人都知道如何在使用Linq時獲取Obsolete屬性?使用Linq獲取已過時的屬性

我做NDepend的,但不管怎樣,我希望做一個查詢並得到本應該是「過時」的方法都過時屬性

Obsolete["I WANT THIS STRING"]

+0

在LINQ/C#中每次反射或CINQ/NDepend? – Matten

+0

CLinq/NDepend。如果有可能 –

+0

[如何從C#中的對象實例中獲取自定義屬性](http://stackoverflow.com/questions/2329738/how-to-get-a-custom-attribute-from-object-instance -in-C-尖銳) – ken2k

回答

1

我相信這樣的事情是什麼您正在尋找

from type in YourAssembly 
from p in type.GetProperties() 
from m in type.GetMembers() 
let propertyAttributes = p.GetCustomAttributes(true) 
let methodAttributes = m.GetCustomAttributes(true) 
where propertyAttributes.Any(a => a.GetType() == typeof(ObsoleteAttribute)) 
    || methodAttributes.Any(a => a.GetType() == typeof(ObsoleteAttribute)) 
select new type; 

它查詢各類在裝配,並選擇那些具有與ObsoleteAttribute屬性或方法。

相關問題