C# 方法强制转换为相关委托与传统的把方法赋值给委托有什么不同吗?
如下:
private string show()
return “test”;
var test=(Func<string>)show;
或
Func<string> fc=show;
请问一下各位第三句代码的强制转换与下面的正常赋值有何差异?
var test=(Func<string>)show;
这能通过编译吗?
区别应该就是一个属于订阅了,一个没订阅
test编译为委托类型,已订阅,能正常执行
这两种写法没有任何差异,都是将某个方法绑定到一个委托。
不存在所谓的订阅与否的问题。
只要方法在委托链中,就可以通过委托来执行绑定的方法。