我正在使用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/