我在项目中的所有类和名称空间之外声明了以下枚举:
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
使用我自己的方法转换为字符串时是否可以覆盖枚举?
答案 0 :(得分:0)
您可以定义静态类然后使用它。 当您创建此静态类并引用项目时,您可以在所有字符串变量中看到扩展的ToString()方法。这是扩展变量的简单方法。您可以将它用于其他选项;)
public static class Extenders
{
public static string ToString(this string text, 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();
}
}
像下面一样使用它;
"Merhaba".ToString(ServerType.Database);