我有一个EqualCondition
实现我自己的接口的类ICondition
,它只有一个方法:SatisfiedBy(Something)
.
public class EqualCondition : ICondition {
private Something m_Something;
public HelloCondition(Something something) {
m_Something = something;
}
// Magic!!!
public bool SatisfiedBy(Something something) {
return something == m_Something;
}
}
所以ICondition
实现起来非常简单。现在我正在尝试创建一个CombinationCondition
也实现它的。这个想法是CombinationCondition
包含一个ICondition
s 列表,它将决定是否SatisfiedBy
成功。
我的第一个想法是CombinationCondition
实现IList<Something>
,但我很快意识到我只是在复制List<Something>
. 那么为什么不只是子类呢?
SatisfiedBy
这个想法听起来不错,直到我再次开始考虑如果我只是子类化如何实现List<Something>
。我需要去做:
return innerList.All(x => x.SatisfiedBy(something))
但是如何访问内部列表?