加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
089-委托的兼容性-返回类型的兼容性.cs 834 Bytes
一键复制 编辑 原始数据 按行查看 历史
using System;
// 3.返回类型的兼容性
// 如果调用一个方法,得到的返回值类型可能大于请求的类型,这是正常的多态性为。
// 基于同样的原因,委托的返回类型可以小于它的目标方法的返回值类型,这被为协变。
namespace _089_委托的兼容性_返回类型的兼容性
{
delegate object ObjectRetriever();
class Test
{
static void Main(string[] args)
{
ObjectRetriever o = new ObjectRetriever(RetriveString);
object result = o();
Console.WriteLine(result); // hello
//ObjectRetriever期望返回一个object,但object子类还会委托返回类型协变。
Console.ReadKey();
}
static string RetriveString() { return "hello"; }
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化