C#接口

  接口(C# 参考)
  接口只包含只有方法,属性,索引器(有参属性),事件四种成员。方法的实现是在实现接口的类中完成的,如下面的示例所示:
  interface ISampleInterface
  {
  void SampleMethod();
  }
  class ImplementationClass : ISampleInterface
  {
  // Explicit interface member implementation:
  void ISampleInterface.SampleMethod()
  {
  // Method implementation.
  }
  static void Main()
  {
  // Declare an interface instance.
  ISampleInterface obj = new ImplementationClass();
  // Call the member.
  obj.SampleMethod();
  }
  }
  ---------------------------------------------------------------------------------------------------------
  备注:
  接口可以是命名空间或类的成员,并且可以包含下列成员的签名:
  ·方法
  ·属性
  ·索引器
  ·事件

  一个接口可从一个或多个基接口继承。
  当基类型列表包含基类和接口时,基类必须是列表中的第一项。
  实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。
  ---------------------------------------------------------------------------------------------------------
  示例:
  下面的示例演示了接口实现。在此例中,接口 IPoint 包含属性声明,后者负责设置和获取字段的值。Point 类包含属性实现。
  // keyword_interface_2.cs
  // Interface implementation
  using System;
  interface IPoint
  {
  // Property signatures:
  int x
  {
  get;
  set;
  }
  int y
  {
  get;
  set;
  }
  }
  class Point : IPoint
  {
  // Fields:
  private int _x;
  private int _y;
  // Constructor:
  public Point(int x, int y)
  {
  _x = x;
  _y = y;
  }
  // Property implementation:
  public int x
  {
  get
  {
  return _x;
  }
  set
  {
  _x = value;
  }
  }
  public int y
  {
  get
  {
  return _y;
  }
  set
  {
  _y = value;
  }
  }
  }
  class MainClass
  {
  static void PrintPoint(IPoint p)
  {
  Console.WriteLine("x=[0], y=[1]", p.x, p.y);// 把[] 改成 {}
  }
  static void Main()
  {
  Point p = new Point(2, 3);
  Console.Write("My Point: ");
  PrintPoint(p);
  }
  }
  输出
  My Point: x=2, y=3

原文地址:https://www.cnblogs.com/liyugang/p/1583814.html