Этот вопрос связан, но не то же как это: Как Вы даете Автосвойству C# значение по умолчанию?
Я люблю автосвойства, но иногда я должен сделать что-то вроде этого:
private string someName;
public string SomeName
{
get
{
return someName;
}
set
{
someName = value.Trim();
}
}
Если я должен много раз делать то же самое, я начинаю жаль, что я не должен был вводить столько строк/символов кода. Я хочу смочь прервать значение и изменить его вид подобных так:
public string Somename
{
get;
[Trim]
set;
}
Существует ли способ сделать что-то вроде этого? Это было бы глупо? Существует ли лучший путь? Какие-либо другие замечания общего порядка? Я признаю, пример, который я дал, является немного гипотетическим, и я не могу определить местоположение точного кода теперь, который заставил меня думать об этом.
Спасибо.
Вы можете сделать это, используя AOP, как в Postsharp, но почему вы просто не используете резервное хранилище в этом случае?
Также, для полноты, вы, вероятно, должны сделать следующее:
someName = (value ?? string.Empty).Trim();
чтобы также обрабатывать null
.
Обратите внимание, что если вы имеете в виду конкретный случай, в котором требуется больше работы, вам, вероятно, следует спрашивать о нем, а не о тривиальном случае, который вы указали в своем вопросе
Нет способа сделать это. Автоматические свойства C # предназначены для того, чтобы быть синтаксическим сахаром только для самых тривиальных свойств и не более того.