Место общения программистов C#
-
Anonymous
Возможна ли проблема с алмазами с интерфейсами на C#?
Сообщение
Anonymous »
Есть ли в приведенном ниже коде проблемы с архитектурой? Возможна ли так называемая проблема ромба с интерфейсами или подобные проблемы?
Код: Выделить всё
interface IComponent
{
void DoStuff();
}
interface ITitledComponent : IComponent
{
string Title { get; }
}
abstract class ComponentBase : IComponent
{
public void DoStuff()
{
throw new NotImplementedException();
}
}
class MyComponent : ComponentBase, ITitledComponent
{
public string Title => throw new NotImplementedException();
}
Конечно, ромбовидное наследование с помощью классов — плохое решение, и в C# это невозможно. А вот про интерфейсы информации не нашел.
Подробнее здесь:
https://stackoverflow.com/questions/526 ... p-possible
1728004156
Anonymous
Есть ли в приведенном ниже коде проблемы с архитектурой? Возможна ли так называемая проблема ромба с интерфейсами или подобные проблемы?
[code]interface IComponent
{
void DoStuff();
}
interface ITitledComponent : IComponent
{
string Title { get; }
}
abstract class ComponentBase : IComponent
{
public void DoStuff()
{
throw new NotImplementedException();
}
}
class MyComponent : ComponentBase, ITitledComponent
{
public string Title => throw new NotImplementedException();
}
[/code]
Конечно, ромбовидное наследование с помощью классов — плохое решение, и в C# это невозможно. А вот про интерфейсы информации не нашел.
Подробнее здесь: [url]https://stackoverflow.com/questions/52697629/is-diamond-problem-with-interfaces-in-c-sharp-possible[/url]