【发布时间】:2011-05-03 16:09:12
【问题描述】:
我有一个实现两个接口的对象...接口是:
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
}
或者是我的设计错误的问题,我应该以某种方式在一个接口上实现这两个接口
【问题讨论】:
-
"现在我有一个函数,它需要一个参数来实现这两个接口。"函数或参数不实现接口,类实现接口。什么意思?
-
查看编辑。我知道只有类才能实现接口
标签: c# interface composition