在C#中的代表

<p>我真的有在了解了一些麻烦如何在C#中工作的代表。我有很多的代码示例,但我还是没能把握得当。 P&gt; </p><p>有人可以解释给我“简单的英语”?当然!代码示例会有所帮助,但我想我需要更多的是如何/为什么它的工作原理的说明。 P&gt; </p><p>编辑: P&gt; </p><p>那么,问题是:为什么代表工作的?整个流程的“流程图”是什么? P&gt; </p><p>什么是先决条件使用委托的? P&gt; </p><p>我希望这使得问题更加清晰。 P&gt;
</p>

32 浏览 1 回复
  一个   gt   委托   方法   代表  

回复

    <p>要思考一个代表一种方式是像的<em>引用函数 em&gt;的。例如,假设你在一个窗口中的按钮,你要点击按钮时发生什么事情。您可以将一个委托到按钮的Click事件,每当用户点击这个按钮,你的函数会被执行。 P&gt;<p>请注意我做ButtonClicked静态函数 - 我想做出非静态的功能放在一个点。假设而不是ButtonClicked是一个非静态成员: P&gt;</p><p>现在委托包含一个参照所述功能“ButtonClicked”和实例,“这个”,该方法被称为上。实例“这个”在mywindow的构造函数和“本”在ButtonClicked是相同的。 P&gt; </p><p>这是被称为的<em>关闭一个概念 em&gt;的,让“储蓄”状态的具体情况 - 创建委托时 - 在当前对象,局部变量等。在上面的例子中,我们从在委托构造所用的“本”。我们可以做更多的事: P&gt;<p>在这里,我们创建了一个的<em>匿名委托 em&gt;的 - 它没有给出一个明确的名称的功能。参考此功能的唯一方法是使用RoutedEventHandler委托对象。此外,存在这种功能在mywindow的构造的范围内,以便它可以访问所有的本地参数,变量,和所述构件实例“这个”。它将继续甚至在mywindow的构造退出到容纳引用到局部变量和参数。 P&gt; <p>作为一个侧面说明,代表也将举行一个引用对象实例 - “这” - 即使在其他所有引用的类中删除。因此,要确保一个类垃圾回收,(在一个范围创建或代表)全部委托给非静态成员方法应该被删除。 P&gt; </p><p>那么,一个委托是一种类型。委托类型的变量引用,或指向一个函数。 P&gt; </p><p>这给你一个间接的方式来调用一个方法,所以方法可以在运行时选择。就这样,你可以有变量,参数和方法中包含的属性。的属性被称为事件。 P&gt; </p><p>只是多了一个代码示例,是完整的: P&gt;</p><p>使用委托变量是不常见的。但是你可以使用一个委托参数为实例的排序方法,选择一个升序或降序排序。 P&gt;</p><p>和你可能知道的事件,这是(一种特殊的)性能基础上的代表。 P&gt;
    </p></em></p></em></p></em></p>

    唐娇

相关信息

如何在C#中的代表比函数指针更好的C / C ++?

<p>在C#中的代表提供了类似的功能在C函数指针我听到有人说:“C#代表实际上比在C函数指针更好”。怎么来的?请用一个例子解释一下。 P&gt; </p>

39 浏览 1 回复   gt   代表   指针   方法   委托  

应用委托 - 可可

<p>我想将一个在applicationDidFinishLaunching:在我的可可委托。我将如何做到这一点?在iPhone SDK中的applicationDidFinishLaunching已经在应用程序委托,但让我的Mac应用程序时,我注意到,什么都没有。 P&gt; </p><p>最好的问候, P&gt; </p><p>凯文 P&gt; </p>

42 浏览 1 回复   gt   文件   一个   程序   应用  

创建一个对象作为一个委托 - 目标C

<p>我的问题很简单,其实,我怎么创建一个对象采取行动,而不是包括委托方法在我看来,作为一个代表,? P&gt; </p><p>例如,我有需要委托方法x的功能,而且他们目前安装使用self作为委托。我喜欢把自己的对象的方法,以便委托方法可以被调用,做的东西,如果认为已经结束了。 P&gt; </p><p>什么是最好的方法是什么? P&gt; </p>

25 浏览 1 回复   gt   委托   方法   一个   对象  

C#委托定义 - 匿名方法与正式定义的方法

<p>在应该定义一个委托时可以使用匿名方法以及何时正式定义的方法定义一个委托时使用? P&gt; </p>

41 浏览 1 回复   方法   使用   gt   匿名   定义  

iPhone代表 - 如何正确使用

<p>我有2个或3次在我的iPhone应用程序,我有不同部分的功能​​,使用委托。在代表们被分配到“自我”所有的情况下,应对具体的观点的行为,并与实例变量进行交互。 P&gt; </p><p>但是,如果我做的东西,需要多一点的时间委托,并留下了看法,显然它崩溃我的应用程序的委托方法被调用的一个观点我已经离开了。 P&gt; </p><...

34 浏览 1 回复   委托   gt   一个   释放   方法