В чем разница между OptionalAttribute и необязательные параметры в C# 4.0
Я исследую чужой код, и есть такой метод:
public SomeClass DoSomething(string param1, [Optional, DefaultParameterValue("")] string optional)
зачем кому-то использовать эти атрибуты вместо
public SomeClass DoSomething(string param1, string optional = "")
есть ли разница в поведении и т. д.?
1 ответов
Если бы они не использовали C# 4, например? Я считаю, что вторая версия будет скомпилирована в точно первую версию...
(Я собрал их обоих и прогнал их через ILDASM - существенных различий не было.)