当前位置: 首页 > 编程语言 > C#

如何在C#中存储函数指针分享

时间:2023-04-10 14:55:00 C#

C#学习教程:如何在C#中存储函数指针在Dict中我可以用参数调用func吗?我该怎么办?.NET使用委托而不是函数指针。您可以将代理实例与任何其他类型的对象一起存储在字典或其他地方。请参阅MSDN上的C#编程指南中的代理。您绝对可以拥有一个功能性字典:Dictionary>actionList=newDictionary>();Dictionary>functionList=newDictionary>();actionList.Add("firstFunction",()=>{/*做某事;*/});functionList.Add("firstFunction",()=>{return"这是一个字符串!";});然后您可以像这样调用该方法:strings=functionList["firstFunction"].Invoke();请参阅有关委托的C#文档,它们是函数指针的C#等价物(可以是普通函数指针,也可以是柯里化一次以提供this参数)。有很多信息可供您使用。做这件事有很多种方法。您可以像其他人一样通过使用委托来提出建议。但是要使字典起作用,它们都需要相同的签名。varfuncs=newDictionary,object[]>();或者,如果它们有不同的签名,您可以使用如下所示的实际反射方法varfuncs=newDictionary();使用以太代理或事件(取决于使用情况)。如果您只存储事件处理程序,那么...DictionarydictEvents=newDictionary();dictEvents.Add("Event1",someEventHandler);...protectedvoidsomeEventHandler(objectsender,EventArgse){//做点什么。}编辑:以上是C#学习教程:HowtostorefunctionpointersinC#分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: