zoukankan      html  css  js  c++  java
  • C#面向对象基础(八) 代理

    代理/委托

     代码下载

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApp
    {
        
    //代理 / 委托    方法的指针  C  事件的基础   方法 作为 参数
        
    // 定义一个代理 (不同的“代理”,代理不同的方法.)
        delegate void MyDelegate ();
        
    //       类型 /代理名称 /方法的参数表
        
    // MyDelegate  是一种类型   class MyDelegate
        class Program
        {       
            
    static void Main(string[] args)
            {
                MyDelegate d 
    = new MyDelegate(StaticMethod);
                
    //d  是  StaticMethod的代理
                
    // StaticMethod();
                d();
                Program p 
    = new Program();
                d 
    = new MyDelegate(p.InstanceMethod);
                d();

                
    //d = new MyDelegate(SayHello); //错误,代理与方法不匹配

                Console.Read();         
            }
            
    static void StaticMethod()
            {
                Console.WriteLine(
    "某静态的方法");
            }
            
    void InstanceMethod()
            {
                Console.WriteLine(
    "这是一个实例的方法");
            }

            
    static void SayHello(string name)
            {
                Console.WriteLine(
    "hello , {0}",name);
            }

        }      
    }
  • 相关阅读:
    安装xcache3.0.3/3.2,为php加速
    编译安装lamp环境
    使用rpm包安装lamp环境
    centos6下通用二进制安装mysql5.5.33
    centos中进程管理工具
    centos6下的lvm逻辑卷的管理
    centos6中创建软raid方法
    解决vmware虚拟机克隆后启动centos报错device eth0 does not seem to be present, delaying initialization
    centos下常用文件管理命令
    centos下httpd-2.4的编译安装
  • 原文地址:https://www.cnblogs.com/imxh/p/2177572.html
Copyright © 2011-2022 走看看