Представьте кого кодирования следующее:компилятора C# Enhancement Предложение
string s = "SomeString";
s.ToUpper();
Мы все знаем, что в приведенном выше примере, вызов к «ToUpper()» метод не имеет смысла, потому что возвращаемая строка не обрабатывается вообще , Но, тем не менее, многие люди делают эту ошибку и тратят время на устранение неполадок в том, что проблема, спросив себя: «Почему не символы на моей« переменной »капитализируются? ????
Так было бы здорово, если бы был атрибут, который может быть применен к методу «ToUpper()», который даст ошибку компилятора, если объект возврата не обрабатывается? Что-то вроде следующего:
[MustHandleReturnValueAttribute]
public string ToUpper()
{
…
}
Если заказ для этого кода, чтобы правильно скомпилировать пользователю придется обрабатывать возвращаемое значение, как это:
string s = "SomeString";
string uppers = s.ToUpper();
Я думаю, это будет сделать это совершенно ясно, что вы должны обрабатывать возвращаемое значение в противном случае нет смысла при вызове этой функции.
В примере с примером строки это может быть не очень сложным делом, но я могу придумать другие более веские причины, почему это пригодится.
Что вы, ребята, думаете?
Спасибо.
Я сделал это раньше, +1 –
@Rene: valid point, +1 – Codex