小编Vad*_*nko的帖子

在接口中实现委托

我找不到在界面中实现委托的方法

我想得到这个:

public class SomeClass : ISomeInterface
{
    public delegate void SomeCallback();
    public SomeCallback callback;

    public void SomeMethod()
    {
         callback.invoke();
    }
}

public class MainClass
{
    void Callback() { Console.WriteLine("Callback"); }

    public void Start()
    {
         SomeClass s = new SomeClass();
         s.callback = Callback;
         s.SomeMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

但如果我使用接口创建“SomeClass”类的实例:

public class MainClass
{

    void Callback() { Console.WriteLine("Callback"); }

    public void Start()
    {
         ISomeInterface s = new SomeClass();   // <<<----
         s.callback = Callback;                // here will be an error :(
         s.SomeMethod();
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# events delegates interface callback

4
推荐指数
1
解决办法
4939
查看次数

标签 统计

c# ×1

callback ×1

delegates ×1

events ×1

interface ×1