我想使用 .net 框架中的 DefaultParameterValueAttribute 类将 DateTime 作为 DefaultParameterValue 传递给我的方法。有办法吗?
我可以在下面的代码中传入字符串、 bool 值和其他类型。我尝试传入 Nullable DateTime 但没有成功。
object SomeMethod([Optional, DefaultParameterValue("")]string param1,
[Optional, DefaultParameterValuefalse)] bool isValid,
[Optional, DefaultParameterValue(null)] Nullable<DateTime> valuationDate
);
最佳答案
在 C# 4.0 之前,您最好的选择是调用“真实”版本的重载:
public void Foo() { Foo(123,"abc");}
public void Foo(int a) { Foo(a, "abc");}
public void Foo(string b) {Foo(123, b);}
public void Foo(int a, string b) { ... your code ... }
在 C# 4.0 中,这将只是:
public void Foo(int a = 123, string b = "abc") { ... }
调用,例如:
Foo();
Foo(456);
Foo(b: "def");
关于c# - C# 中的默认参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1557863/