я следующее перечисление объявленного вне всех классов и пространств имен в моем проекте:Как переопределить ToString() для перечисления в C#?
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
Можно ли переопределить перечисление при преобразовании в строку с помощью моего собственного метода?
сделать расширение вашего метода - 'public static string ToMyString (this 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