我正在编写一个实现 3rd 方接口的类。接口的功能之一接受“对象”类型的参数。
在函数中,我需要调用一个函数,我想将它作为对象参数传递给函数,但我无法让它工作。
例子:
public class ABC : Ixyz
{
...
public void DoSomething(object parameter);
{
// Here I will execute the function passed in
}
...
}
public void MySomething()
{
...
}
public void SomeFunction()
{
ABC myABCobject = new ABC();
myABCobject.DoSomething(MySomething);
}
当我尝试编译它时,我收到以下错误:
无法将方法组“MySomething”转换为非委托类型“对象”。您是否打算调用该方法?
我觉得我应该对委托做一些事情,但是由于我正在实现第 3 方接口,所以我无法更改函数的签名。
我可以以某种方式传递对这个期望“对象”的函数的引用吗?我认为我可以,因为 Delegate 继承自 Object。