Если вы не можете наследовать от одноэлементного класса, вы могли бы также реализовать этот класс, используя только статические методы, свойства, поля и события.
Возможность доступа к объекту производного класса через статическийМетод (или свойство) базового класса является одним из ключевых понятий шаблона Singleton.Цитировать Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения (Гамма и др.):
Применимость
Использовать шаблон Singleton, когда
- должен быть ровно один экземпляр класса, и он должен быть доступен клиентам из известной точки доступа.
- , когда единственный экземпляр должен быть расширяемым с помощью подклассов, и клиенты должны иметь возможность использовать расширенный экземпляр без изменения своего кода .
(выделено мной)