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" ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д