Mar*_*son 5 c# enums overriding c#-5.0
我在项目中的所有类和命名空间之外声明了以下枚举:
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();
}
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误 no suitable method found to override
使用我自己的方法转换为字符串时是否可以覆盖枚举?
您可以定义一个静态类然后使用它。当您创建这个静态类并引用您的项目时,您可以在所有字符串变量中看到扩展的 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();
}
}
Run Code Online (Sandbox Code Playgroud)
像下面一样使用它;
"Merhaba".ToString(ServerType.Database);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6985 次 |
| 最近记录: |