C# 将函数(委托?)传递给期望对象作为参数的函数

C# 将函数(委托?)传递给期望对象作为参数的函数,c#,delegates,C#,Delegates,我正在编写一个实现第三方接口的类。接口的一个函数接受类型为“object”的参数 在函数中,我需要调用一个函数,我想把它作为对象参数传递给函数,但我无法让它工作 例如: public class ABC : Ixyz { ... public void DoSomething(object parameter); { // Here I will execute the function passed in } ... } public void My

我正在编写一个实现第三方接口的类。接口的一个函数接受类型为“object”的参数

在函数中,我需要调用一个函数,我想把它作为对象参数传递给函数,但我无法让它工作

例如:

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”转换为非委托类型 “对象”。您是否打算调用该方法

我觉得我应该对委托人做些什么,但是因为我正在实现一个第三方接口,所以我不能更改函数的签名


我能不能传入一个对这个函数的引用,这个函数需要一个“对象”?我想我可以,因为委托继承自对象。

尝试将您的参数强制转换为对DoSomething的调用,作为一个操作-例如

myABCobject.DoSomething((Action)MySomething);
我很肯定那会有用的

事实上,我刚刚对它进行了测试,它确实做到了-您可以在DoSomething方法中抛出操作并调用它-例如

var newparameter = (Action) parameter;
 newparameter();