关于C#中的Action代理的详细信息
1)Action委托的真正定义是什么?一些定义描述它是多态条件映射,有人说它*应用决策表*.
(你可能会问你通过了解定义会得到什么,如果我知道它我能理解它的真正目的). 2)感谢Binary Worrier,Andrew Hare的stackoverflow给出了很好的例子. string[] words = "This is as easy as it looks".Split(' '); `Array.ForEach(words,p => Console.WriteLine(p));` 我可以理解它究竟是做什么的.但是当我宣布时,C#如何解释我 Dictionary<SomeEnum,Action<User>> methodList = new Dictionary<SomeEnum,Action<User>>() methodList.Add(SomeEnum.One,DoSomething); methodList.Add(SomeEnum.Two,DoSomethingElse); 它是否在字典中存储了Actions的集合?.不幸的是,由于示例不完整,我没有得到它. 3)Action,Function,Predicate delagets之间的功能区别是什么? 解决方法
这只是另一位代表.动作及LT; T>声明如下:
void Action<T>(T item) 它只是“对单个项目起作用的东西”.存在具有更多类型参数和正常参数的泛型重载.本身,Action< T>不是一个应用的决策表或类似的东西 – 它只是一个可以对项目做“某事”的代表. 字典示例只是一个字典,其中枚举值为键,操作为值 – 因此您可以根据枚举值查找要执行的操作,然后传入用户引用以对其进行操作. 至于Func vs Action vs Predicate:Func就像Action,但返回一个值.谓词类似,但总是返回bool,并且没有泛型重载的范围,只是Predicate< T>确定项是否“匹配”谓词. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |