1 class SomeClass//被委托的类
2 {
3    public delegate string ftxDelegate(string s);//注意delegate要小写,这才是关键字,另外public这里注意访问性一致问题
4 }

1 class SomeClass2
2 {
3   public ftxDelegate ftx;//这是委托的变量
4 }

用法
1     delegate格式(代理或委托)
      SomeClass2.ftx=new ftxDelegate(...);//...用目标函数替代,不要有()号
2     String resultStr= SomeClass2.ftx(someStr);
3     delegate格式(代理或委托)

举例:大小写转换

 1 public class Capital
 2 {
 3   public string fixText(string s)
 4   {return s.ToUpper();}
 5 }
 6 
 7 public class Lower
 8 {
 9   public static string fixText(string s)
10   { return s.ToLower(); }
11 }
12 
13 //窗体中
14 private void opCap_checkedChanged(object sender,EventArgs e)
15 {
16   btProcess.Enabled=true;
17   ftx=new ftxDelegate(new Capital().fixText);//不要有()
18   //这个是实例
19 }
20 
21 private void opLower_checkedChanged(object sender,EventArgs e)
22 {
23   btProcess.Enabled=true;
24   ftx=new ftxDelegate(Lower.fixText);//不要()
25   //这个是静态方法
26 }
27 
28 
29 private void btProcess_Click(object Sender, EventArgs e)
30 {
31   string s=ftx(txName.Text);
32   delegate格式(代理或委托)
33 }

相关文章:

  • 2021-09-30
  • 2021-09-27
  • 2021-12-06
  • 2022-01-09
猜你喜欢
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-09-18
  • 2021-09-03
  • 2021-10-13
相关资源
相似解决方案