丁度巴拉斯电影下载,陆微,nba季前赛赛程
1 private int Add(int i,int y) 2 { 3 return i + y; 4 }
1 // Declare delegate 2 public delegate int PointetoAddFunction(int i,int y);
注意, 返回类型和输入类型要兼容, 否则会报错。
1 // Create delegate reference 2 PointetoAddFunction myptr = null;
1 // Invoke the delegate 2 myptr.Invoke(20, 10)
1 public class clsMaths 2 { 3 public delegate int PointerMaths(int i, int y); 4 }
1 public class clsMaths 2 { 3 public delegate int PointerMaths(int i, int y); 4 5 public PointerMaths getPointer(int intoperation) 6 { 7 PointerMaths objpointer = null; 8 if (intoperation == 1) 9 { 10 objpointer = Add; 11 } 12 else if (intoperation == 2) 13 { 14 objpointer = Sub; 15 } 16 else if (intoperation == 3) 17 { 18 objpointer = Multi; 19 } 20 else if (intoperation == 4) 21 { 22 objpointer = Div; 23 } 24 return objpointer; 25 } 26 }
1 public class clsMaths 2 { 3 public delegate int PointerMaths(int i, int y); 4 5 public PointerMaths getPointer(int intoperation) 6 { 7 PointerMaths objpointer = null; 8 if (intoperation == 1) 9 { 10 objpointer = Add; 11 } 12 else if (intoperation == 2) 13 { 14 objpointer = Sub; 15 } 16 else if (intoperation == 3) 17 { 18 objpointer = Multi; 19 } 20 else if (intoperation == 4) 21 { 22 objpointer = Div; 23 } 24 return objpointer; 25 } 26 27 private int Add(int i, int y) 28 { 29 return i + y; 30 } 31 private int Sub(int i, int y) 32 { 33 return i - y; 34 } 35 private int Multi(int i, int y) 36 { 37 return i * y; 38 } 39 private int Div(int i, int y) 40 { 41 return i / y; 42 } 43 }
1 int intResult = objMath.getPointer(intOPeration).Invoke(intNumber1,intNumber2);
1 // Associate method1 2 delegateptr += Method1; 3 // Associate Method2 4 delegateptr += Method2; 5 // Invoke the Method1 and Method2 sequentially 6 delegateptr.Invoke();
1 // Create a simple delegate 2 public delegate void CallEveryOne(); 3 4 // Create a reference to the delegate 5 public CallEveryOne ptrcall=null; 6 // Create objects of both forms 7 8 public Form2 obj= new Form2(); 9 public Form3 obj1= new Form3();
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 // Show both the forms 4 obj.Show(); 5 obj1.Show(); 6 // Attach the form methods where you will make call back 7 ptrcall += obj.CallMe; 8 ptrcall += obj1.CallMe; 9 }
最终, 我们在"Form1"的按钮点击函数中调用委托(多播的):
1 private void button1_Click(object sender, EventArgs e) 2 { 3 // Invoke the delegate 4 ptrcall.Invoke(); 5 }
1 public delegate void CallEveryone(); 2 public event CallEveryone EventCallEveryOne;
1 Form2 obj = F new Form2(); 2 obj.obj = this; 3 Form3 obj1 = new Form3(); 4 obj1.obj = this; 5 obj.Show(); 6 obj1.Show(); 7 EventCallEveryOne();
1 obj.EventCallEveryOne += Callme;
1 delegateptr.BeginInvoke(new AsyncCallback(CallbackMethod), delegateptr);
1 static void CallbackMethod(IAsyncResult result) 2 { 3 int returnValue = flusher.EndInvoke(result); 4 }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论