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

Sun*_*nov 6 c# attributes optional-parameters

我正在研究别人的代码,有一种方法是这样的:

public SomeClass DoSomething(string param1, [Optional, DefaultParameterValue("")] string optional)
Run Code Online (Sandbox Code Playgroud)

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

public SomeClass DoSomething(string param1, string optional = "")
Run Code Online (Sandbox Code Playgroud)

行为等有什么不同吗?

Jon*_*eet 9

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

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

  • @Sunny:有一个五分钟的宽限期,在此期间作者的编辑不会显示. (2认同)