Сообщение Re[3]: Множественное наследование от 11.12.2015 6:05
Изменено 11.12.2015 6:06 Sinix
Здравствуйте, hardcase, Вы писали:
S>>Если не секрет — поделитесь реальной задачей, на которой без множественного наследования прям вообще никак.
H>Например AST для пространств имен и классов.
Ага, спасиб! Отдельное спасибо за пример, ещё один способ решения вспомнил, аля MS.Cci/Roslyn:
В чём прелесть: этот вариант и контракты документирует, и со всеми перечисленными выше способами (в т.ч. и твоим) совместимо.
S>>Если не секрет — поделитесь реальной задачей, на которой без множественного наследования прям вообще никак.
H>Например AST для пространств имен и классов.
Ага, спасиб! Отдельное спасибо за пример, ещё один способ решения вспомнил, аля MS.Cci/Roslyn:
// GenericNestedTypeInstanceReference.cs
public override Cci.INestedTypeReference AsNestedTypeReference
{
get { return this; }
}
// GenericNamespaceTypeInstanceReference.cs
public override Microsoft.Cci.INestedTypeReference AsNestedTypeReference
{
get { return null; }
}
В чём прелесть: этот вариант и контракты документирует, и со всеми перечисленными выше способами (в т.ч. и твоим) совместимо.
Re[3]: Множественное наследование
Здравствуйте, hardcase, Вы писали:
S>>Если не секрет — поделитесь реальной задачей, на которой без множественного наследования прям вообще никак.
H>Например AST для пространств имен и классов.
Ага, спасиб! Отдельное спасибо за пример, ещё один способ решения вспомнил, аля MS.Cci/Roslyn:
В чём прелесть: этот вариант и контракты документирует, и со всеми перечисленными выше способами (в т.ч. и твоим) совместим.
S>>Если не секрет — поделитесь реальной задачей, на которой без множественного наследования прям вообще никак.
H>Например AST для пространств имен и классов.
Ага, спасиб! Отдельное спасибо за пример, ещё один способ решения вспомнил, аля MS.Cci/Roslyn:
// GenericNestedTypeInstanceReference.cs
public override Cci.INestedTypeReference AsNestedTypeReference
{
get { return this; }
}
// GenericNamespaceTypeInstanceReference.cs
public override Microsoft.Cci.INestedTypeReference AsNestedTypeReference
{
get { return null; }
}
В чём прелесть: этот вариант и контракты документирует, и со всеми перечисленными выше способами (в т.ч. и твоим) совместим.