Цитата:
Сообщение от
kashperuk
Да, это совсем не потомок. Это как-бы "partial class", но не совсем.
Немного похоже на partial class. Partial class это просто способ хранить описание класса в двух файлах. Используется обычно при кодогенерации. Например редактор формы фигачит в один файл и программер его не трогает (потому, что знает, что редактор формы все перетрет), а ручками пишет в другой.
1) Прочитайте
и поймите что такое extension method.
2) Генерализируйте это на остальные члены класса.
C#
тоже движется в этом направлении.
Фактически, методы расширения - это синтаксический сахар для утилит (вместо StringUtils::convertToKOI8("test") пишем "test".convertToKOI8()).
Так же поля расширения это синтаксический сахар для какой-то более сложной конструкции (вместо GetExtensionOfType<MyInvoiceExtension>(Invoice).myField пишем Invoice.MyField)