Ian*_*ose 11 c# optional-parameters c#-4.0
我想说:
public void Problem(DateTime optional = DateTime.MaxValue)
{
}
Run Code Online (Sandbox Code Playgroud)
但编译器抱怨DateTime.MaxValue不是编译时常量.
DateTime.MinValue很简单,只需使用默认值(DateTime)
另请参阅" 如何在C#中将参数默认为Guid.Empty? "
我不想使用方法重载,因为我试图驯服的方法有101个参数!
我会用这个代替:
public void Problem(DateTime? optional = null)
{
DateTime dateTime = optional ?? DateTime.MaxValue
// Now use dateTime
}
Run Code Online (Sandbox Code Playgroud)
根据您的一条评论,您正在尝试制作一个方法,其中101个参数对调用者更有用.
我强烈建议您创建一个参数类并使用默认值初始化该类的属性.为只接受一个参数的方法提供重载:参数类.
这将真正改善您的方法的使用,因为如果用户只需要更改一个参数,他甚至可以重用其参数类实例.
| 归档时间: |
|
| 查看次数: |
5372 次 |
| 最近记录: |