Ограниченные возможности доступа к событиям в производных классах? - PullRequest
3 голосов
/ 22 апреля 2010

Я занимаюсь рефакторингом класса и перемещаю разделы в базовый класс.

У меня есть несколько событий, похожих на

public event EventHandler GridBinding;

Которые сейчас находятся в базовом классе, но я обнаружил, что не могу теперь проверить, является ли событие нулевым в моем производном классе. Это дает мне ошибку:

Событие «xyz.GridBinding» может только появляются в левой части + = или - = (кроме случаев использования внутри типа 'xyz._MyBaseClass').

Это правильно, я что-то упустил или есть какой-то способ обойти это или единственный способ сделать это - написать аксессор? Я использую c # /. Net 4.0

1 Ответ

2 голосов
/ 22 апреля 2010

Нет, вы не можете обойти это.

Надлежащим способом является объявление защищенных методов в классе, содержащем события, чтобы при необходимости их можно было запускать из любого производного класса.

...