MSDN的VS2010 Named and Optional Arguments (C# Programming Guide)告诉我们在C#中的可选参数,显示像我期望代码:OptionalAttribute参数的默认值?
public void ExampleMethod(int required,
string optionalstr = "default string",
int optionalint = 10)
好,但它也说:
您还可以通过使用声明可选 参数.NET OptionalAttribute类。 OptionalAttribute参数不需要 需要一个默认值。
我读MSDN's OptionalAttribute page,并在线进行搜索(这说明很多人声称OptionalAttribute参数不能用C#消耗 - ?我猜这些评论之前,C#4发),但我可以”找不到答案的两个问题:
如果我使用OptionalAttribute将其定义为可选C#参数:
- 什么价值会如果我调用该方法,并且不指定该参数的值可以用吗?
- 将在编译时或运行时评估该值吗?
在调试中运行它并检查它的值。我会怀疑空。 – 2010-08-05 15:18:17
那么,我会怀疑'default(T)'是null或零。 – 2010-08-05 15:21:46