Я новичок в 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
", даже если IntEvent
расширяет Интерфейс IFace
.
Как мне это решить? Может быть, мне нужно использовать Func или Delegate?