Tag: 委托

简单委托(委托)与组播委托

我已经阅读了许多文章,但是我仍然不清楚我们通常创build的普通代表和多播代表之间的区别。 public delegate void MyMethodHandler(object sender); MyMethodHandler handler = new MyMethodHandler(Method1); handler += Method2; handler(someObject); 上面的委托MyMethodHandler将调用这两个方法。 现在,组播代表进来了。我已经读了他们可以调用多种方法,但是我担心对代表的基本理解是不正确的。

用Java实现多个接口 – 有办法委托吗?

我需要创build一个基类,实现多个接口,有很多方法,下面的例子。 有没有一个更简单的方法来委派这些方法调用,而不必创build一个重复的方法部落? public class MultipleInterfaces implements InterFaceOne, InterFaceTwo { private InterFaceOne if1; private InterFaceTwo if2; public MultipleInterfaces() { if1 = new ImplementingClassOne(); if2 = new ImplementingClassTwo(); } @Override public void classOneMethodOne { if1.methodOne(); } @Override public void classOneMethodTwo { if1.methodTwo(); } /** Etc. */ @Override public void classTwoMethodOne { if2.methodOne(); } @Override public void classTwoMethodTwo […]

如何将委托添加到接口C#

我需要在class上有一些代表。 我想使用界面来“提醒”我设置这些代表。 如何? 我的课堂是这样的: public class ClsPictures : myInterface { // Implementing the IProcess interface public event UpdateStatusEventHandler UpdateStatusText; public delegate void UpdateStatusEventHandler(string Status); public event StartedEventHandler Started; public delegate void StartedEventHandler(); } 我需要一个界面来强制这些代表: public interface myInterface { // ????? }

调用(委托)

任何人都可以解释这个链接上写的这个声明 Invoke(Delegate): 在拥有控件底层窗口句柄的线程上执行指定的委托。 有谁能解释一下这个意思(特别是那个大胆的)我不能清楚地说清楚

C#generics将不允许委托types约束

是否有可能在C#中定义一个类, class GenericCollection<T> : SomeBaseCollection<T> where T : Delegate 在.NET 3.5中我无法完成这一切。 我试过使用 delegate, Delegate, Action<T> and Func<T, T> 在我看来,这在某种程度上应该是可以允许的。 我试图实现我自己的EventQueue。 我最终只是做了这个[原始逼近你]。 internal delegate void DWork(); class EventQueue { private Queue<DWork> eventq; } 但是后来我失去了对不同types的函数重复使用相同定义的能力。 思考?

在devise应用程序时,如何使用Func <>和Action <>?

所有关于Func <>和Action <>的例子都很简单,就像下面的例子一样,你可以看到它们在技术上是如何工作的,但是我希望看到它们用在解决以前无法解决的问题的例子中只有以更复杂的方式来解决,即我知道它们是如何工作的,我可以看到它们是简洁而有力量的 ,所以我想更深入地理解它们解决什么样的问题,以及如何在应用程序devise。 你用什么方式(模式)使用Func <>和Action <>来解决实际问题? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestFunc8282 { class Program { static void Main(string[] args) { //func with delegate Func<string, string> convert = delegate(string s) { return s.ToUpper(); }; //func with lambda Func<string, string> convert2 = s => s.Substring(3, 10); //action Action<int,string> recordIt = (i,title) […]

适用于.NET委托types的命名约定?

按照惯例,类通常被命名为名词,动词和接口(如形容词)。 代表的通用命名约定是什么? 或者当代表被列入types和其他事物时,区分它的名字的好方法是什么? 我的直接假设是命名委托更可能是一个形容词,因为单个方法接口通常可以用委托来替代。 一些想法: delegate object ValueExtracting(object container); delegate object ValueExtractor(object container); delegate object ValueExtractionHandling(object container); delegate object ValueExtractionHandler(object container);

iOS:使用UIView的“drawRect:”与其图层的delagate“drawLayer:inContext:”

我有一个类是UIView的子类。 我可以通过实现drawRect方法或通过实现drawLayer:inContext:这是CALayer的委托方法来在视图内绘制东西。 我有两个问题: 如何决定使用哪种方法? 每个人都有一个用例吗? 如果我实现drawLayer:inContext:它被调用(并且drawRect不是,至less就放一个断点可以告诉),即使我没有分配我的视图作为CALayer委托通过使用: [[self layer] setDelegate:self]; 如果我的实例没有被定义为图层的委托,那么如何调用委托方法呢? 如果drawLayer:inContext:被调用,什么机制可以防止drawRect被调用?

在委托属性声明中,'weak'和'assign'有什么区别

这是什么区别: @property (nonatomic, weak) id <SubClassDelegate> delegate; 和这个: @property (nonatomic, assign) id <SubClassDelegate> delegate; 我想为代表使用财产。

Invoke和DynamicInvoke之间的区别

代表中的Invoke和DynamicInvoke之间有什么区别? 请给我一些解释这两种方法之间差异的代码示例。