Я знаю, что вы можете дать им методы, создав метод расширения для другого класса, но возможны ли свойства? Насколько мне известно, лучше всего использовать метод расширения, который принимает нулевые параметры.
Если вам интересно, почему я спрашиваю об этом, у меня есть перечисление с некоторыми пользовательскими атрибутами:
enum Operator : byte
{
[Category(OperatorCategory.Multiplicative), Symbol("") ] None,
[Category(OperatorCategory.Additive), Symbol("+") ] Add,
[Category(OperatorCategory.Additive), Symbol("\u2212")] Subtract,
[Category(OperatorCategory.Multiplicative), Symbol("\u22C5")] Multiply,
[Category(OperatorCategory.Multiplicative), Symbol("\u00F7")] Divide,
[Category(OperatorCategory.Exponential), Symbol("^") ] Exponent,
[Category(OperatorCategory.Exponential), Symbol("\u221A")] Root,
[Category(OperatorCategory.Exponential), Symbol("log") ] Logarithm
}
Я хочу сделать очень простую вещь: добавить свойство .Category
, которое возвращает категорию оператора (чтобы мне не приходилось вводить одно и то же снова).