zoukankan      html  css  js  c++  java
  • c#接口

     1 //接口中方法 属性 事件等默认都是public 不允许用修饰符修饰
     2     public interface IEventInterFace
     3     {
     4         string this[int index] { get; set; }//索引器
     5         List<string> MyList { get; set; } //属性
     6         string Name { get; set; }//属性
     7         event EventHandler MyEventHandler;//事件
     8         void Meth();//方法
     9     }
    10 
    11     public class InterFaceTestClass : IEventInterFace
    12     {
    13         public string this[int index]//索引器实现
    14         {
    15 
    16             get
    17             {
    18                 if (index > 0 && index <= MyList.Count - 1)
    19                     return MyList.ToArray()[index];
    20                 return "超出边界";
    21             }
    22             set
    23             {
    24                 MyList[index] = value;
    25             }
    26         }
    27         public List<string> MyList { get; set; } //属性实现
    28         public string Name { get; set; }//属性实现
    29         public void Meth()
    30         {
    31             Console.WriteLine("该类自己的Meth方法");
    32         }
    33         void IEventInterFace.Meth()
    34         {
    35             Console.WriteLine("显示实现方法,上面的Meth作为该类自己的方法。该方法不能用修饰符修饰 默认为private");
    36         }
    37         public event EventHandler MyEventHandler;//事件实现
    38 
    39         public void InvokeMyEventHandler()//调用事件的方法
    40         {
    41             MyEventHandler(null, null);
    42         }
    43     }
    44     class Program
    45     {
    46         public static void MyMethed(object sender, EventArgs e)
    47         {
    48             Console.WriteLine("MyMethed");
    49         }
    50 
    51         static void Main(string[] args)
    52         {
    53 
    54             var myClass = new InterFaceTestClass();
    55             myClass.Meth();//调用该类自己的Meth方法
    56             IEventInterFace face = myClass;
    57             face.Meth();//调用实现接口的Meth方法
    58             myClass.MyList = new List<string>() { "a", "b", "c" };
    59             var str = myClass[1];//索引器用法
    60             Console.WriteLine(str);
    61 
    62             myClass[1] = "bb";
    63             myClass.MyEventHandler += new EventHandler(MyMethed);//事件添加函数
    64 
    65             myClass.InvokeMyEventHandler();
    66 
    67         }
    68     }
  • 相关阅读:
    两条斜线
    Cantor表
    城市网络
    一起来数二叉树吧
    牛客网音乐研究(枚举)
    删括号
    合并回文子串
    寻找道路
    EXTJS 4.0.2 XML数据
    extjs4.0.2a gridpanel看不到横向滚动条的一种原因
  • 原文地址:https://www.cnblogs.com/foreveryt/p/4063247.html
Copyright © 2011-2022 走看看