Есть ли проблемы с архитектурой в приведенном ниже коде?Возможна ли так называемая проблема diamond с интерфейсами или схожими проблемами?
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 #.Но про интерфейсы я не нашел информации.