Мне кажется, что это плохой шаблон дизайна с самого начала. Если пользователям требуется наследовать как B
, так и C
, как вы сказали, имеет смысл просто создать один интерфейс. Во-вторых, B
и C
должны быть по крайней мере такими же доступными, что и A. (Вы не можете сделать их внутренними или закрытыми, если A общедоступна).
Я думаю, что единственное реальное решение состоит в том, чтобы объединить определения интерфейса в A, а не разделять их по отдельности.