# 新舊程式並存過渡期,怎麼提醒大家不要用舊版程式? ObsoleteAttribute ###### tags: `程式設計` ## 情境 如同標題,原本可能寫了一個 string A1(),改版後變成 string A2(),雖然A1沒有壞,但是功能比較少,希望大家改用A2,這時候該怎麼做好呢? ```=C# public static string A1() { return "這是舊的"; } public static string A2() { return "這是新的"; } ``` 發email、line之類的通知當然是一種作法,但如果程式是在外部流傳,可能也不知道聯絡方式,這時候可以利用 Obsolete 這個屬性,這樣雖然程式還可以用,但是底下會跳出黃色的警告 warning 訊息或紅色的 error,提醒開發者要更換 ## 解決方式 [ObsoleteAttribute] 微軟官方提供了三種用法 1. 直接寫 [ObsoleteAttribute] 這個方式會直接讓visual studio的錯誤清單上顯示warning 此方法已過時 3. [ObsoleteAttribute("字串")] 這個方式會直接讓visual studio的錯誤清單上顯示warning 此方法已過時,以及想要顯示的自訂文字 5. [ObsoleteAttribute("字串", true)] 這個方式會直接讓visual studio的錯誤清單上顯示error 此方法已過時,以及想要顯示的自訂文字 ## 完整範例 [ObsoleteAttribute("This method is obsolete. Call CallNewMethod instead.", true)] ```=C# [ObsoleteAttribute("請改用A2", true)] public static string A1() { return "這是舊的"; } public static string A2() { return "這是新的"; } ``` ## 參考文件 ObsoleteAttribute 類別 https://docs.microsoft.com/zh-tw/dotnet/api/system.obsoleteattribute?view=net-5.0
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up