C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计280个文字,预计阅读时间需要2分钟。
在满足接口要求时,子类似乎不能伪装成基类。例如:class MyBaseClass {}class MySubClass : MyBaseClass {}interface MyInterface { MyBaseClass someFunction();}class MyImplementation : MyInterface { public MyBaseClass someFun { get { return new MySubClass(); } }}
在满足接口要求时,我的子类似乎不能伪装成基类.例如:class MyBaseClass {} class MySubClass : MyBaseClass {} interface MyInterface { MyBaseClass someFunction(); } class MyImplementation : MyInterface { public MySubClass someFunction() { return null; } }
生成以下错误:
‘MyNamespace.MyImplementation’ does not implement interface member ‘MyNamespace.MyInterface.someFunction()’. ‘MyNamespace.MyImplementation.someFunction()’ cannot implement ‘MyNamespace.MyInterface.someFunction()’ because it does not have the matching return type of ‘MyNamespace.MyBaseClass’.
这也是需要接口与实现的问题.例如,如果我有一个带有返回IList的函数的接口,我的实现就不能返回一个List – 它必须返回一个IList.
我做错了什么或者这是C#接口的限制?
class MyImplementation : MyInterface { MyBaseClass MyInterface.someFunction() { return null; } public MySubClass someFunction() { return null; } }
本文共计280个文字,预计阅读时间需要2分钟。
在满足接口要求时,子类似乎不能伪装成基类。例如:class MyBaseClass {}class MySubClass : MyBaseClass {}interface MyInterface { MyBaseClass someFunction();}class MyImplementation : MyInterface { public MyBaseClass someFun { get { return new MySubClass(); } }}
在满足接口要求时,我的子类似乎不能伪装成基类.例如:class MyBaseClass {} class MySubClass : MyBaseClass {} interface MyInterface { MyBaseClass someFunction(); } class MyImplementation : MyInterface { public MySubClass someFunction() { return null; } }
生成以下错误:
‘MyNamespace.MyImplementation’ does not implement interface member ‘MyNamespace.MyInterface.someFunction()’. ‘MyNamespace.MyImplementation.someFunction()’ cannot implement ‘MyNamespace.MyInterface.someFunction()’ because it does not have the matching return type of ‘MyNamespace.MyBaseClass’.
这也是需要接口与实现的问题.例如,如果我有一个带有返回IList的函数的接口,我的实现就不能返回一个List – 它必须返回一个IList.
我做错了什么或者这是C#接口的限制?
class MyImplementation : MyInterface { MyBaseClass MyInterface.someFunction() { return null; } public MySubClass someFunction() { return null; } }

