Я пытаюсь обойти двойное наследование в C # путем повторной реализации одного из родительских классов в качестве интерфейса с методами расширения.
Проблема, с которой я сталкиваюсь, заключается в том, что
event EventHandler<EventArgs> Disconnecting;
public static void OnDisconnected(this AutoConnectClientBase target)
{
target.ClientConnectionState = ConnectionState.Disconnected;
target.Disconnected(target, EventArgs.Empty);
}
Невозможно вызвать в методах расширения.Я получаю: ***. Отключение может появиться только на левой стороне + = или - =
Хотя это имеет смысл, в этом случае я бы хотел, чтобы это было не так.
То, что я ищу, - это обходной путь, который позволит мне получить доступ к EventHandlers моего интерфейса в коде расширения.Я хотел бы сделать это как можно более простым, так как класс, который я создаю в интерфейсе, уже доступен большому количеству классов, и это изменение, которое я неохотно делаю в первую очередь.