У меня есть объект, реализующий два интерфейса ... Интерфейсы следующие:
public interface IObject
{
string Name { get; }
string Class { get; }
IEnumerable<IObjectProperty> Properties { get; }
}
public interface ITreeNode<T>
{
T Parent { get; }
IEnumerable<T> Children { get; }
}
так, что
public class ObjectNode : IObject, ITreeNode<IObject>
{
public string Class { get; private set; }
public string Name { get; private set; }
public IEnumerable<IObjectProperty> Properties { get; set; }
public IEnumerable<IObject> Children { get; private set; }
public IObject Parent { get; private set; }
}
Теперь у меня есть функция, которой нужен один из параметров для реализации обоих этих интерфейсов. Как мне указать это на C #?
Примером может быть
public TypedObject(ITreeNode<IObject> baseObject, IEnumerable<IType> types, ITreeNode<IObject>, IObject parent)
{
//Construct here
}
Или проблема в том, что мой дизайн неправильный, и я должен каким-то образом реализовать оба этих интерфейса на одном интерфейсе