相关疑难解决方法(0)

将空数组作为可选参数的默认值传递

如何定义一个将带有空数组的可选数组作为默认值的函数?

public void DoSomething(int index, ushort[] array = new ushort[] {},
 bool thirdParam = true)
Run Code Online (Sandbox Code Playgroud)

结果是:

'array'的默认参数值必须是编译时常量.

c# default-value optional-parameters

81
推荐指数
3
解决办法
6万
查看次数

C#构造函数重载

我如何在C#中使用构造函数,如下所示:

public Point2D(double x, double y)
{
    // ... Contracts ...

    X = x;
    Y = y;
}

public Point2D(Point2D point)
{
    if (point == null)
        ArgumentNullException("point");
    Contract.EndContractsBlock();

    this(point.X, point.Y);
}
Run Code Online (Sandbox Code Playgroud)

我需要它不要从另一个构造函数复制代码...

c# constructor constructor-overloading

62
推荐指数
3
解决办法
10万
查看次数

设置C#可选参数的默认值

每当我尝试将可选参数的默认值设置为资源文件中的某些内容时,我都会得到编译时错误

'message'的默认参数值必须是编译时常量.

有什么办法可以改变资源文件的工作方式来实现这个目标吗?

public void ValidationError(string fieldName, 
                            string message = ValidationMessages.ContactNotFound)
Run Code Online (Sandbox Code Playgroud)

在这里,ValidationMessages是一个资源文件.

c# default-value optional-parameters

23
推荐指数
3
解决办法
2万
查看次数