using System;
interface IInterface1
{
void printOut(string s);
}
interface IInterface2
{
// IInterface1のMethodに衝突させる
void printOut(string s);
}
class SampleClass:IInterface1,IInterface2
{
// .演算子でMethodの衝突を回避
void IInterface1.printOut(string s)
{
Console.WriteLine(s);
}
void IInterface2.printOut(string s)
{
Console.WriteLine(s);
}
}
class MainClass
{
static void Main()
{
SampleClass sample = new SampleClass();
// smpleをIInterface1にcast
IInterface1 i1 = (IInterface1)sample;
// 出力値:Interface1
i1.printOut("Interface1");
// i1をIInterface2にcast
IInterface2 i2 = (IInterface2)i1;
// 出力値:Interface2
i2.printOut("Interface2");
}
}
0 コメント:
コメントを投稿