1
20
您需要在C 2中使用泛型来实现这一点:
|
2
4
在抽象类中,应定义CartItems属性的返回类型为
但是,如果您真的希望属性类型为
|
3
3
这是一个矛盾/协方差的问题。 2进行此编译需要进行更改。 1)删除接口属性上的“set”选项。(它只实现get;属性,在任何情况下都是最有意义的) 2)将购物车更改为:
我还强烈建议更改接口以公开IList而不是列表。设计指南(和fxcop)建议不要在公共接口中公开列表。列表是一个实现细节-ilist是适当的接口/返回类型。 |
4
2
接口是协议。如果你愿意的话,你和任何使用你课程的人之间的合同。通过告诉人们您正在实现ICART接口,您向他们保证接口中的所有方法都存在于您的类中。因此,所有方法都必须与接口方法的签名匹配。 以便返回 实施 iCartitem,您需要按照Drjokepu的建议使用泛型。这就告诉每个人,接口只提供实现iArtitem的对象列表,而不是具体实现iArtitem的对象列表。
|
5
0
icart为cartems指定getter和setter,但您的实现只有get。 |
6
0
实现这一点有两种方法。您可以使用泛型或显式实现接口成员。 泛型
显式实现的成员
|
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
randomDud · C#从另一个接口重写接口方法 2 年前 |
evilsushi · C#接口不允许成员类满足要求 6 年前 |