2016/11/10

[C#] 使用 Obsolete 屬性來標記過時的方法或物件

專案跑久了總是會有一些功能改寫或補強,考慮向前相容時又怕同事新寫的 code 去用到即將拔掉的功能




這時候使用 Obsolete 可以標記即將在未來移除的功能


  1. [Obsolete("這要拔掉了,請改用 TestMethod2 喔")]
  2. public void TestMethod(string tt)
  3. {
  4. // more more code
  5. }


被標記的功能被使用到時會有綠色的毛毛蟲出現



當滑鼠移上去時還會有提示,提示就是 Attribute 裡面寫的東西



除此之外,Build 程式碼的時候也會在 Output 視窗中看到 XD



不過這種不痛不癢的提示,對 ctrl+c, ctrl+v工程師可能起不了作用就是.....

另外 MEMO

Obsolete屬性的使用範圍是:

  1. [AttributeUsageAttribute(AttributeTargets.Class
  2. | AttributeTargets.Struct
  3. | AttributeTargets.Enum
  4. | AttributeTargets.Constructor
  5. | AttributeTargets.Method
  6. | AttributeTargets.Property
  7. | AttributeTargets.Field
  8. | AttributeTargets.Event
  9. | AttributeTargets.Interface
  10. | AttributeTargets.Delegate
  11. , Inherited = false)]

幾乎是全包了這樣



沒有留言:

張貼留言