永发信息网

delegate参数是怎么传递的

答案:2  悬赏:0  手机版
解决时间 2021-03-01 23:11
  • 提问者网友:不要迷恋哥
  • 2021-03-01 11:21
delegate参数是怎么传递的
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-03-01 11:40
using System;
using System.Threading;

namespace Test
{
    class Program
    {
        static void Display(String s1, String s2)
        {
            Console.WriteLine("外部执行,p1={0},p2={1}", s1, s2);
        }

        static void Main()
        {
            Class1 c1 = new Class1();

            // 绑定事件
            c1.OnEvent += Display;
            c1.Display("123", "456");

            // 取消事件
            c1.OnEvent -= Display;
            c1.Display("123", "456");

            Console.ReadKey();
        }
    }

    public class Class1
    {

        public delegate void MyEventHandler(String s1, String s2);
        public event MyEventHandler OnEvent;

        public void Display(String s1, String s2)
        {
            if (OnEvent != null)
            {
                // 如果外部绑定了事件处理函数
                OnEvent(s1, s2);
            }
            else
            {
                // 如果外部没有绑定事件
                Console.WriteLine("内部执行,p1={0},p2={1}", s1, s2);
            }
        }
    }
}
全部回答
  • 1楼网友:不如潦草
  • 2021-03-01 12:36
建议用find + parent + each + live的方式, 这样可以用parent, 而且逻辑上和你要求的那个delegate是一致的, 比如 $('#container').find('#child').parent().each(function() { $(this).live('click', function() { alert('click'); }); });
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯