我是 C# 的初学者,找不到任何答案:
我试图用一些接口参数委托操作,但通过扩展这个接口(或类)的对象推送函数
// some class extending interface
public class IntEvent : IFace{}
public class MoveEvent : IFace{}
// function i like to use to verify Action
static void setAction(Action<IFace> evt) {
// evt ...
}
// function to delegate as Action
static void evtCheck(IntEvent evt) {
// some func
}
static void evtMove(MoveEvent evt) {
// some func
}
// class {
// call method inside class and delegate this function :
setAction(evtCheck);
setAction(evtMove);
我收到“evtCheck(IntEvent)
无法转换为Action<IFace>
”的错误,即使IntEvent
扩展了IFace
接口。
我应该如何解决这个问题?也许我必须使用 Func 或 Delegate ?