У меня есть класс с двумя разными свойствами, которые сопоставляются с одним и тем же значением:
class MyClass {
public int Number { get; set; }
public string NumberString {
get { return Number.ToString(); }
set { Number = int.Parse( value ); }
}
}
Второе свойство (здесь NumberString
) просто получает или задает первое свойство (здесь Number
), используя другой тип. Код довольно тривиален, но приводит к большому количеству шаблонного кода, когда у меня есть многие из этих «приятельских» свойств.
Можно ли выполнить преобразование с использованием пользовательского свойства? Я бы предпочел, чтобы я мог написать второе свойство примерно так:
[MapsTo(nameof(Number))]
public string NumberString { get; set; }
Затем атрибут должен быть в состоянии выполнить преобразование для меня (возможно, на основе некоторых правил, которые я устанавливаю в зависимости от типа).
У меня сложилось впечатление, что это можно сделать с помощью чего-то вроде PostSharp, но возможно ли это с помощью пользовательских атрибутов?