Rob*_*cks 5 .net c# geometry arguments optional-parameters
我正在尝试将一个可选参数传递给一个名为的几何函数,offset可以指定也可以不指定,但C#不允许我执行以下任何操作.有没有办法实现这个目标?
默认为空
错误:类型''的值不能用作默认参数,因为没有标准转换来键入'System.Drawing.Point'
public void LayoutRelative(.... Point offset = null) {}
Run Code Online (Sandbox Code Playgroud)默认为空
错误:'offset'的默认参数值必须是编译时常量
public void LayoutRelative(.... Point offset = Point.Empty) {}
Run Code Online (Sandbox Code Playgroud)Ada*_*dam 14
如果您的默认值不需要任何特殊初始化,则不需要使用可空类型或创建不同的重载.您可以使用default关键字:
public void LayoutRelative(.... Point offset = default(Point)) {}
Run Code Online (Sandbox Code Playgroud)
如果你想使用可空类型:
public void LayoutRelative(.... Point? offset = null)
{
if (offset.HasValue)
{
DoSomethingWith(offset.Value);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |