stackoverflow上有人问,为什么不能把委托放在一个接口当中? 投票最多的第一个答案第一句话说,“A Delegate is just another type, so you don't gain anything by putting it inside the interface.” 翻译过来大致意思就是:委托只是一种类型,把委托放在接口中你什么也得不到. 看上去挺拗口的,如果你也感觉这句话说的不知所云,那么只能求助于MSDN的接口和委托的定义. 接口:只包含方法.属性.事件或索引
委托类型定义 C#编译器处理委托时,先自动产生一个派生自System.MulticastDelegate的密封类.这个类与它的基类System.Delegate一起为委托提供必要的基础设施,以维护以后将要调用的方法列表.它含有3个编译器生成的方法,这3个方法的参数与返回值基于委托的声明. public sealed class DelegateName :System.MulticastDelegate{ public DReturnType Invoke (DParams)
A delegate is a type that safely encapsulates a method, similar to a function pointer in C and C++. Unlike C function pointers, delegates are object-oriented, type safe, and secure. The type of a delegate is defined by the name of the delegate. The f
在代码进行优化的时候,发现了switch case太长,有的竟然长达30个远远超过一屏这样在代码的可读性来说很差.特别在我们看代码的时候要拉下拉框我个人觉得这是不合理的.但是我不建议有switch就进行反射或委托来解决.看实际的情况比喻10个以为还是可以接受的.因为switch看起来更加的直接而且效率相对来说是最好的.那下面就用代码来一点点进行解释 1:传统的用法 1.1:现在我们有一个需求通过传递参数来获取相关的信息.首先我们先看方法 public class SwitchMethod { p