声明可选参数,无论如何都会得到错误(cs1501)

时间:2015-02-22 22:08:45

标签: c# optional-arguments

我的方法声明有问题吗?

protected void MyMethod<T>(List<T> props, MyDelegate pa, Rect location = default (Rect), bool newButton = false) where T : MyClass, new() {
...
}

然而,每当我尝试传递这两个参数时,我都会收到以下错误: “错误CS1501:方法没有重载”MyMethod“取”2“参数”

发生了什么事?

编辑:根据要求,方法调用如下所示:

private void CallingMethod () {
    List<MyDerivedClass> listOfMyDerivedClass = new List<MyDerivedClass>({.....});
    MyDelegate del = MyOtherMethod;
    MyMethod<MyDerivedClass>(listOfMyDerivedClass, del);
}

private void MyOtherMethod (...) {
....
}

编辑:我应该补充说,如果我只提供完整的4个参数,该方法可以正常工作。如果我只给3,它给了我同样的东西。

0 个答案:

没有答案