首页 新闻 赞助 找找看

C# 方法强制转换为相关委托与传统的把方法赋值给委托有什么不同吗?

0
[待解决问题]

C# 方法强制转换为相关委托与传统的把方法赋值给委托有什么不同吗?
如下:
private string show()
return “test”;

var test=(Func<string>)show;

Func<string> fc=show;

请问一下各位第三句代码的强制转换与下面的正常赋值有何差异?

慢慢求学路的主页 慢慢求学路 | 菜鸟二级 | 园豆:217
提问于:2018-10-23 17:48
< >
分享
所有回答(2)
0

var test=(Func<string>)show;
这能通过编译吗?
区别应该就是一个属于订阅了,一个没订阅

博学多思 | 园豆:76 (初学一级) | 2018-10-24 11:09

test编译为委托类型,已订阅,能正常执行

支持(0) 反对(0) 慢慢求学路 | 园豆:217 (菜鸟二级) | 2018-10-24 15:40
0

这两种写法没有任何差异,都是将某个方法绑定到一个委托。
不存在所谓的订阅与否的问题。
只要方法在委托链中,就可以通过委托来执行绑定的方法。

.net老吴 | 园豆:177 (初学一级) | 2018-10-24 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册