2
我宣佈我的項目中的所有類和命名空間之外以下枚舉:如何覆蓋C#中枚舉的ToString()?
public enum ServerType { Database, Web } // there are more but omitted for brevity
我想要的東西,如覆蓋ToString()
方法:
public override string ToString(ServerType ServerType)
{
switch (ServerType)
{
case ServerType.Database:
return "Database server";
case ServerType.Web:
return "Web server";
}
// other ones, just use the base method
return ServerType.ToString();
}
不過,我得到一個錯誤no suitable method found to override
使用我自己的方法轉換爲字符串時,是否可以重寫枚舉?
使您的方法擴展 - 公共靜態字符串ToMyString(此ServerType ServerType)'。然後使用它'_serverTypevariable.ToMyString();' – Fabio
https://social.msdn.microsoft.com/Forums/vstudio/en-US/54b4e56e-f062-4b8b-aac6-30e8b04e8720/overriding-tostring-method-for- enumerations-in-c?forum = csharpgeneral – MethodMan
已經在這裏回答了http://stackoverflow.com/questions/479410/enum-tostring-with-user-friendly-strings – hjgraca