VB中的托管如下
    Delegate Sub dg_CommInput(ByVal str As String)      'form的托管申明
    Public my_dg_CommRet As dg_CommInput                'form的托管实例
在C#中如何描述上面的托管呢???

解决方案 »

  1.   

    Delegate这玩意不叫“托管”,叫“代理”。不知道你想做什么?
      

  2.   

    下面是C#当中定义一个delegate,声明,使用的简单例子。希望对你有用。    public class Form1 : Form
        {
            public Form1()
            {
                this.my_dg_CommRet += new dg_CommInput(method);
            }        private void method(string str)
            {
                MessageBox.Show("方法被执行");
            }        public dg_CommInput my_dg_CommRet;//声明一个dg_CommInput
        }    public delegate void dg_CommInput(string str);//定义只有一个string类型的参数,无返回值的delegate
      

  3.   

    托管和事件一起理解,这样理解起来要嘛清晰明了了,要么更加复杂。
    首先利用我们比较熟悉的事件来理解托管。当我们按下某个按钮的时候,激发了这个按钮对象的单击事件,然后就要做事了,但是做什么呢,用哪个函数或者过程来做这个事情呢,就需要托管出场,托管让这个这个事件和对这个事件作出反应的函数挂钩(暂时称为托管函数)。this.btnBrowerAttachment.Click += new System.EventHandler(this.btnBrowerAttachment_Click);这个代码就是最简单常见的托管。托管delegate是个什么东西呢,它是个类。这个类只有构造函数,甚至是说只有定义,没有其他方法。不能任何函数都和某个托管挂钩,实现代理,这个体现在语法上,就是托管函数和托管类,他们要有相同的函数返回类型,相同的参数,不只是个数相同,还得是类型。这样才能实现托管。delegate如果翻译成代理呢,要比翻译成托管更加容易理解,代理就是你来代替我做某件事,当激发对象某个事件后,就由某个函数或者过程来处理。而不是对象本身来处理。就像激发按钮单击事件后,由btn_click(sender,arg)这个方法来执行处理动作。
    稍微有点理解托管了呢,就可以由托管来帮助理解更加一般的事件了。
    事件,是对象的事件,而处理事件的过程呢,则不是对象的责任了。托管帮助实现了对象事件的激发,和事件处理过程他们之间的挂钩。
    以上是个人理解,也许说得有点不明白,也是昨天前天看了点视频,个人感觉稍微有那么点点味道了,才敢在这里抛砖引玉哈。