Вы можете пометить оба метода как internal
:
internal void HandleSomeEvent(object parameter)
{
// Etc.
}
protected internal void HandleSomeOtherEvent(object parameter)
{
// Etc.
}
Это делает эти два метода видимыми для всех классов в одной сборке (а также второй метод видимым для всех классов, производных от B
).
Нет способа сделать метод видимым для определенного другого класса.В конце концов, вы тот, кто контролирует все классы в вашей сборке, поэтому вы должны убедиться, что никакой другой класс, кроме A
, не вызывает методы.
Если вам действительно нужна помощь из инструментапри этом вы могли бы написать правило FxCop или создать какое-то пост-построенное действие, которое проверяет вызовы методов из других классов, отличных от A
.