C# 语言变量委托
示例
代表可能具有变量类型参数。
delegate void Action<in T>(T t); //T是输入 delegate T Func<out T>(); //T是输出 delegate T2 Func<in T1, out T2>(); //T1是输入,T2是输出
这源于《里斯科夫替代原理》,该原理指出(除其他事项外)在以下情况下,方法D的方法比方法B的方法更易推导:
D具有比B相同或更多的派生返回类型
D具有比B相同或更多的通用对应参数类型
因此,以下分配都是类型安全的:
Func<object, string> original = SomeMethod; Func<object, object> d1 = original; Func<string, string> d2 = original; Func<string, object> d3 = original;
热门推荐
10 毛笔哥哥结婚祝福语简短
11 向国庆送祝福语简短
12 建队节祝福语简短
13 朋友喜得外孙简短祝福语
14 小店营业的祝福语简短
15 餐饮生日祝福语简短独特
16 鲜花英语祝福语卡片简短
17 男朋友暴富祝福语简短
18 婶婶拜年祝福语大全简短