Код: Выделить всё
public void MyFunction(string param) {
if (param != null) { // Null check is necessary since we are in C# 7.3.
param = param.Trim();
}
// ...now we can work with "param" safely.
}
< /code>
Я знаю, что этот нулевой промежуточный плюс-трим может быть сокращена до одной линии, но я думаю, что можно было бы сделать его еще проще, используя атрибут параметра. Можно ли украсить параметр с атрибутом для обработки этой нулевой проверки и обрезки вне содержимого метода?public void MyFunction([Trim] string param) {
// ...[Trim] replaces "param" with a trimmed version, if "param" is not null.
// ...now we can work with "param" safely.
}
public void MyOtherFunction(string paramOne, [Trim] string paramTwo) {
// "paramOne" remains untrimmed, "paramTwo" is trimmed.
}
// How would one write this hypothetical TrimAttribute in C# 7.3? Is it even possible?
< /code>
Примечания: < /p>
[list]
[*] Я начинаю подозревать, что это может быть невозможно, по крайней мере, без некоторых внешних зависимостей. Например, я знаю, что ASP.NET MVC предлагает ActionFilterAttribute
[/list]
Подробнее здесь: https://stackoverflow.com/questions/795 ... hat-modifi