C# · 12月 23, 2021

C#4.0中的OptionalAttribute和可选参数之间有什么区别

我正在研究别人的代码,有一种方法是这样的: public SomeClass DoSomething(string param1,[Optional,DefaultParameterValue(“”)] string optional)

为什么有人会使用这些属性而不是

public SomeClass DoSomething(string param1,string optional = “”)

行为等有什么不同吗?

解决方法 例如,如果他们没有使用C#4?我相信第二个版本将编译成第一个版本……

(我已将它们编译并通过ILDASM运行它们 – 没有显着差异.)