草庐IT

delegating

全部标签

c# - 委托(delegate)的目的

这个问题在这里已经有了答案:WheredoIusedelegates?[closed](8个答案)关闭9年前。重复:DifferencebetweeneventsanddelegatesanditsrespectiveapplicationsWhataretheadvantagesofdelegates?WheredoIusedelegates?我想知道委托(delegate)的目的是什么。我没怎么用过它们,也想不出什么东西。在我的类(class)中,写到委托(delegate)是所有符合其签名的方法的蓝图。此外,您可以向一个委托(delegate)添加多个方法,然后它们将按照添加的顺

docker - 如何添加 :cached or :delegated into a docker-compose. yml 卷列表?

标题说明了一切。我有几个卷设置为只读(:ro)但想测试:cached和:delegated以帮助处理文件i/o性能,但不知道如何在撰写文件中进行设置。哦,我已经测试过了:卷:-外部:内部:缓存 最佳答案 说明:在docker上使用volumes配置的目的是为了在宿主机和docker容器之间共享数据,保证两者之间的数据一致性(A(host/container)在B(host/container)中表示,反之亦然。安装的卷是容器的“一部分”并且是相关的。常见的用法是将共享数据备份存储在容器和机器的文件系统中。如果容器被移除,卷仍然存在并

docker - 如何添加 :cached or :delegated into a docker-compose. yml 卷列表?

标题说明了一切。我有几个卷设置为只读(:ro)但想测试:cached和:delegated以帮助处理文件i/o性能,但不知道如何在撰写文件中进行设置。哦,我已经测试过了:卷:-外部:内部:缓存 最佳答案 说明:在docker上使用volumes配置的目的是为了在宿主机和docker容器之间共享数据,保证两者之间的数据一致性(A(host/container)在B(host/container)中表示,反之亦然。安装的卷是容器的“一部分”并且是相关的。常见的用法是将共享数据备份存储在容器和机器的文件系统中。如果容器被移除,卷仍然存在并

c# - 带委托(delegate)或开关的字典?

我正在编写一个解析器,它根据某个值调用一些函数。我可以像这样用简单的开关实现这个逻辑:switch(some_val){case0:func0();break;case1:func1();break;}或者像这样的委托(delegate)和字典:delegatevoidsome_delegate();Dictionarysome_dictionary=newDictionary();some_dictionary[0]=func0;some_dictionary[1]=func1;some_dictionary[some_value].Invoke();这两种方法是否等价,哪种更好?

c# - 委托(delegate)与行动,C# 中的 Func

这个问题在这里已经有了答案:CreatingdelegatesmanuallyvsusingAction/Funcdelegates(8个答案)关闭8年前。这似乎是一个愚蠢的问题,但这只是出于好奇。我们在C#中有两个特定的已定义委托(delegate):ActionFuncAction封装任何接受0个或多个参数的“void”方法。Func封装了返回特定值类型并接受0个或多个参数的任何方法。我的问题是:在什么情况下建议定义自定义委托(delegate)?你为什么需要这样做?提前致谢

c# - C#中的委托(delegate)和 Action 有什么区别

如果我进行搜索,我肯定会找到说明什么是委托(delegate)和操作的示例。我已经阅读了提供委托(delegate)示例的基本书籍。但我想知道的是它们在现实世界中的用途。请不要给出HelloWorld示例或Animal类,它们太基础了例如:它们有什么区别何时使用委托(delegate)或操作何时不使用委托(delegate)或操作什么时候他们可以过头了 最佳答案 Action是一个Delegate。它是这样定义的:publicdelegatevoidAction();您可以像创建抽象方法一样创建自己的委托(delegate)类型;你

c# - Delegate.CreateDelegate 与 DynamicMethod 与表达式

关于Makingreflectionflyandexploringdelegates的问题...如果我需要创建委托(delegate)Func我可能会使用的动态加载类型的方法(1)Delegate.CreateDelegate(2)DynamicMethod(3)Expression树。假设动态加载的类型/方法集在应用程序启动时通过配置反射(reflect)一次,并在应用程序的整个生命周期中使用(启动性能不是问题,内存也不是问题),委托(delegate)被缓存和分派(dispatch)以强类型的方式。这些委托(delegate)是并发访问的热路径。您更喜欢哪种动态绑定(bind)方法

c# - 带委托(delegate)的局部变量

这显然不是似乎不是最佳实践。有人可以解释为什么这不是最佳做法或它是如何工作的吗?任何提供解释的书籍或文章将不胜感激。//TheconstructorpublicPage_Index(){//createalocalvaluestringcurrentValue="ThisistheFIRSTvalue";//usethelocalvariableinadelegatethatfireslaterthis.Load+=delegate(objectsender,EventArgse){Response.Write(currentValue);};//changeitagaincurren

C# 3.0 泛型类型推断 - 将委托(delegate)作为函数参数传递

我想知道为什么C#3.0编译器在将方法作为参数传递给泛型函数时无法推断方法的类型,而它可以为同一方法隐式创建委托(delegate)。这是一个例子:classTest{staticvoidfoo(intx){}staticvoidbar(Actionf){}staticvoidtest(){Actionf=foo;//Icandothisbar(f);//andthendothisbar(foo);//butthisdoesnotwork}}我还以为我能通过foo至bar并让编译器推断Action的类型来自正在传递的函数的签名,但这不起作用。但是我可以创建一个Action来自foo如果

c# - Invoke Method (Delegate) 和直接调用有什么区别?

这个问题在这里已经有了答案:DifferencebetweenDelegate.InvokeandDelegate()(4个答案)关闭9年前。可能是之前有人问过这个问题,我用谷歌搜索但没有得到答案。委托(delegate)原型(prototype)delegatevoidmethod1(stringstr);添加回调方法method1objDel2;objDel2=newmethod1(TestMethod1);objDel2("test");objDel2.Invoke("Invoke");在上面的代码中,objDel2("test");和objDel2.Invoke("Invoke