C产品在市场上有哪些独特优势?

2026-04-29 01:012阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计280个文字,预计阅读时间需要2分钟。

C产品在市场上有哪些独特优势?

在满足接口要求时,子类似乎不能伪装成基类。例如: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#接口的限制?

C产品在市场上有哪些独特优势?

C#不支持协变返回类型.实现接口时,必须返回接口指定的类型.如果需要,可以显式实现接口,并使用另一个返回子类型的同名方法.例如:

class MyImplementation : MyInterface { MyBaseClass MyInterface.someFunction() { return null; } public MySubClass someFunction() { return null; } }

本文共计280个文字,预计阅读时间需要2分钟。

C产品在市场上有哪些独特优势?

在满足接口要求时,子类似乎不能伪装成基类。例如: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#接口的限制?

C产品在市场上有哪些独特优势?

C#不支持协变返回类型.实现接口时,必须返回接口指定的类型.如果需要,可以显式实现接口,并使用另一个返回子类型的同名方法.例如:

class MyImplementation : MyInterface { MyBaseClass MyInterface.someFunction() { return null; } public MySubClass someFunction() { return null; } }