• delegate格式(代理或委托)


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

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

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

    举例:大小写转换

     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   
    33 }

  • 相关阅读:
    安卓自己定义View进阶-Canvas之绘制基本形状
    IOS UIPickView+sqlite 选择中国全部城市案例
    linux的主分区与逻辑分区的关系
    Qt:解析命令行
    Firefox默认英文修改中文
    autofs自动挂载
    telent对端口检测状态分析
    WinRAR5.4
    Centos6.5入侵清理
    Win10激活KMS
  • 原文地址:https://www.cnblogs.com/lizunicon/p/1165721.html
Copyright © 2020-2023  润新知