Enum со сложными типами в качестве значений - C#
Формулировка задачи:
Приветствую!
Вопрос мой прост и глуп, но мне в голову никак не приходит на него ответ.
Допустим, есть у меня поле в классе
Хотелось бы иметь возможность написать нечто вроде следующего:
И после этого:
Я полагаю, вопрос понятен? Мне кажется, что ответ лежит на поверхности, но я его не вижу. И не могу нормально сформулировать поисковый запрос.
Как должен быть объявлен MyFieldType? Или есть другие способы получить подобный результат?
Листинг программы
- public class MyClass
- {
- ...
- public MyFieldType MyField;
- ...
- }
Листинг программы
- ...
- MyClass cls = new MyClass();
- cls.MyField=MyFieldType.SomeValue; //почти как enum
- ...
Листинг программы
- ...
- string StringValue=cls.MyField; //StringValue="Some string value, declared somewhere"
- ...
Решение задачи: «Enum со сложными типами в качестве значений»
textual
Листинг программы
- public class MyFieldType
- {
- private string valueBackingField;
- public string Value { get { return valueBackingField; } }
- private static MyFieldType someValueBackingField = new MyFieldType("Some string value, declared somewhere");
- public static MyFieldType SomeValue { get { return someValueBackingField; } }
- private MyFieldType(string val)
- {
- valueBackingField = val;
- }
- public static implicit operator string(MyFieldType obj)
- {
- return obj.valueBackingField;
- }
- }
- public class MyClass
- {
- ...
- public MyFieldType MyField;
- ...
- }
- ...
- MyClass cls = new MyClass();
- cls.MyField=MyFieldType.SomeValue; //почти как enum
- ...
- ...
- string StringValue=cls.MyField; //StringValue="Some string value, declared somewhere"
- ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д