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