为了账号安全,请及时绑定邮箱和手机立即绑定

分配与创建新委托

分配与创建新委托

C#
森栏 2021-08-07 16:12:08
在MSDN 中关于 Invoke 的示例中,我在设置委托变量时发现了奇怪的表达式:为什么他们使用创建新对象的语法:myDelegate = new AddListItem(AddListItemMethod);而不是分配myDelegate = AddListItemMethod;这些表达有什么区别?表达的意思是new AddListItem(...)什么?全码: public class MyFormControl : Form   {      public delegate void AddListItem();      public AddListItem myDelegate;      private Button myButton;      private Thread myThread;      private ListBox myListBox;      public MyFormControl()      {         myButton = new Button();         myListBox = new ListBox();         myButton.Location = new Point(72, 160);         myButton.Size = new Size(152, 32);         myButton.TabIndex = 1;         myButton.Text = "Add items in list box";         myButton.Click += new EventHandler(Button_Click);         myListBox.Location = new Point(48, 32);         myListBox.Name = "myListBox";         myListBox.Size = new Size(200, 95);         myListBox.TabIndex = 2;         ClientSize = new Size(292, 273);         Controls.AddRange(new Control[] {myListBox,myButton});         Text = " 'Control_Invoke' example";         myDelegate = new AddListItem(AddListItemMethod);      }      static void Main()      {         MyFormControl myForm = new MyFormControl();         myForm.ShowDialog();      }      public void AddListItemMethod()      {         String myItem;         for(int i=1;i<6;i++)         {            myItem = "MyListItem" + i.ToString();            myListBox.Items.Add(myItem);            myListBox.Update();            Thread.Sleep(300);         }      }      private void Button_Click(object sender, EventArgs e)      {         myThread = new Thread(new ThreadStart(ThreadFunction));         myThread.Start();      }      private void ThreadFunction()      {         MyThreadClass myThreadClassObject  = new MyThreadClass(this);         myThreadClassObject.Run();      }   }
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

没有区别。

new语法什么需要很久以前,从那时起他们就C#编译器足够聪明来创建此代码时,你指定的方法委托变量。


查看完整回答
反对 回复 2021-08-07
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信