Здравствуйте, gandjustas, Вы писали:
G>1)Контракты Part_ов ни какой частью не похожи на контракты XmlDocument, поэтому связей is-a быть не может. G>2)Реализация Part_ов никак не использует XmlDocument, поэтому has-a и uses тоже отсутствуют.
Хорошо, хрен с ними, с Part-ами, возьмем другой пример. Положим я использую библиотеку, в которой есть XmlDocument и хочу при его помощи реализовать MyXmlDocument. MyXmlDocument является read-only XmlDocument-ом, и C++ позволяет это выразить наличием оператора преобразования MyXmlDocument-а в XmlDocument const&, C# похоже никакой сравнимой возможности не имеет, только вот через строку и будешь преобразовывать, причем повторяя преобразование каждый раз при изменении документа.