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     }
  • 相关阅读:
    java 接口和抽象类的一个最大的区别
    python 简化数据结构的初始化二 支持关键字参数
    python 简化数据结构的初始化一
    python @staticmethod
    python @classmethod
    codeskulptor hosts
    An Introduction to Interactive Programming in Python (Part 1) -- Week 2_2 练习
    An Introduction to Interactive Programming in Python (Part 1) -- Week 2_1 练习
    mysql-5.7.14-winx64免安装版在win10下的详细配置过程
    python 反模式
  • 原文地址:https://www.cnblogs.com/foreveryt/p/4063247.html
Copyright © 2011-2022 走看看