>>691

interface IHoge
{
  void Hoge();
}

// 暗黙的実装
class Implicit : IHoge
{
  public void Hoge() {
  }
}

// 明示的実装
class Explicit : IHoge
{
  void IHoge.Hoge() {  // private扱いになる
  }
}

class Test
{
  public static void Main() {
    Implicit imp = new Implicit();
    imp.Hoge();  // OK.

    IHoge h1 = imp;
    h1.Hoge();  // OK.

    Explicit exp = new Explicit();
//   exp.Hoge();  // NG!

    IHoge h2 = exp;
    h2.Hoge();  // OK.
  }
}