5
A
回答
8
我不知道你是否要求t4框架,但這裏是一個反作用過時標記方法的反射樣本。
class TestClass
{
public TestClass()
{
DeprecatedTester.FindDeprecatedMethods(this.GetType());
}
[Obsolete("SomeDeprecatedMethod is deprecated, use SomeNewMethod instead.")]
public void SomeDeprecatedMethod() { }
[Obsolete("YetAnotherDeprecatedMethod is deprecated, use SomeNewMethod instead.")]
public void YetAnotherDeprecatedMethod() { }
public void SomeNewMethod() { }
}
public class DeprecatedTester
{
public static void FindDeprecatedMethods(Type t)
{
MethodInfo[] methodInfos = t.GetMethods();
foreach (MethodInfo methodInfo in methodInfos)
{
object[] attributes = methodInfo.GetCustomAttributes(false);
foreach (ObsoleteAttribute attribute in attributes.OfType<ObsoleteAttribute>())
{
Console.WriteLine("Found deprecated method: {0} [{1}]", methodInfo.Name, attribute.Message);
}
}
}
}
相關問題
- 1. 使用LINQ來計算折舊
- 2. 在C#中,您可以使用Reflection來查找沒有getter的屬性嗎?
- 3. 查找「舊」行
- 4. 使用Reflection和LINQ查詢ApplicationDataService
- 5. 使用NSMetadataQuery查找舊文件
- 6. VB折舊
- 7. 折舊計算
- 8. 折舊警告當我使用sklearn imputer
- 9. gethostuuid用sqlite/sqlcipher折舊 - iOS
- 10. Threejs setHSL()已折舊?
- 11. put_block_blob_from_path折舊了嗎?
- 12. GLEW和OpenGL折舊
- 13. 奇怪的折舊
- 14. TensorFlow:SKCompat折舊警告
- 15. 使用Math.cos()來查找度
- 16. 錯誤的Wampserver - 折舊:mysql_connect()函數:mysql擴展的折舊
- 17. 折半查找數組
- 18. Facebook:查找舊帖子
- 19. 使用Scala Reflection來實現插件架構
- 20. ISA是折舊問題
- 21. 使用連接來查找用戶
- 22. Bash腳本來查找並顯示最舊的文件
- 23. Silverlight reflection
- 24. UNIX-使用'查找'來查找文件的副本
- 25. Swift 3和AVCaptureDevice折舊,當試圖找到攝像頭名稱
- 26. Moment.js折舊 - 如何找到導致waring的代碼行?
- 27. 使用雙數組來查找模式?
- 28. 使用屬性來查找值linq
- 29. 使用謂詞來查找所有行?
- 30. 使用jQuery來查找內容
您是否在T4中使用反射?這是[不推薦](http://www.olegsych.com/2007/12/how-to-use-t4-to-generate-decorator-classes/)。 – Ani 2011-02-08 21:36:58
你的意思是標記爲Obsolete的成員(是被動框架的一部分嗎?) – RQDQ 2011-02-08 21:37:31