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     }
  • 相关阅读:
    select在各个浏览器中的兼容性问题
    pc打开手机站提示切换为手机屏幕
    图片预加载
    div盒子水平垂直居中的方法
    如何检测该浏览器为微信浏览器
    小箭头的写法,z-index在ie7显示混乱问题
    微信a标签不跳转
    css font简写规则
    windows环境cmd下执行jar
    docker制作镜像步骤
  • 原文地址:https://www.cnblogs.com/foreveryt/p/4063247.html
Copyright © 2011-2022 走看看