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

本文关键字:参数 什么 区别 C#4 OptionalAttribute | 更新日期: 2023-09-27 18:29:29

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

public SomeClass DoSomething(string param1, [Optional, DefaultParameterValue("")] string optional)

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

public SomeClass DoSomething(string param1, string optional = "")

行为等方面有什么不同吗。?

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

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

(我已经编译了它们,并通过ILDASM运行它们——没有显著差异。)