У меня есть хороший полный класс, который делает потрясающие вещи. Мне нужно разрешить пользователям использовать этот класс, заменив в нем некоторые методы, но наследование не допускается, потому что этот класс также используется в других классах приложений.Способ расширения существующего класса без создания нового класса в C#
Это похоже на то, что у вас есть класс, который создает таблицу, но вы должны разрешить пользователям переопределять метод, который создает ячейку таблицы, чтобы пользователь мог напечатать что-то пользовательское в этой ячейке. Класс, однако, имеет способ по умолчанию для печати содержимого ячейки (в случае, если пользователю не нужно его настраивать).
Есть ли общий или стандартизированный способ достижения этого?
Не могли бы вы объяснить, почему наследование запрещено? Вы говорите, что этот класс также используется в других классах приложений. Так? Наследование не изменит поведение базового класса, а только подклассы. Это звучит как идеальный кандидат на наследование. – adv12
@ adv12 Потому что у меня есть что-то вроде 10 классов в этом приложении, которое использует базовый класс. Наследование означает, что пользователю нужно будет изменить еще 10 классов, чтобы позволить им использовать унаследованный класс вместо исходного. – Epsiloncool
Нет. Наследование от базового класса не окажет никакого влияния на любое использование существующего класса (если вы не сделаете каких-либо изменений в базе - например, отметьте его абстрактным) - это звучит как главный кандидат на наследование. – Theo