我正在使用C#.net 3.5来构建应用程序。我一直在使用.net 4.0中的可选参数属性,没有任何问题。我确实注意到,使用3.5时,可以通过以下方法(解决方法)将以下属性添加到您的方法中:

    public static void MethodName(string name, [Optional][DefaultValue(null)]string placeHolder)
    {

    }

即使我已将属性添加到方法中,如果我尝试这样调用它:
     MethodName("test");

编译器会提示它正在寻找两个参数而不是一个。实际上可以使用C#.net 3.5做到这一点吗?难道我做错了什么?

最佳答案

可选参数是C#4.0语言功能,因此您所针对的框架并不重要,但是您必须使用VS 2010或更高版本对其进行编译。

在VS 2010或更高版本中使用以下语法:

public static void MethodName(string name, string placeHolder = null)
{
    // body
}

或在较旧的版本中:
public static void MethodName(string name, string placeHolder)
{
    // body
}

public static void MethodName(string name)
{
    MethodName(name, null);
}

关于c# - C#3.5参数的Optional和DefaultValue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5116340/

10-14 18:33
查看更多