C#インタフェースマルチステートインスタンス
1150 ワード
C#インタフェースで異なるクラスを伝達するマルチステートを実現
インタフェースおよびクラスの定義
よびだし
インタフェースおよびクラスの定義
// ,define interface
interface IAction
{
string Act();
}
///
/// A ,class a inherit interface IAction
///
class InterfaceTest :IAction
{
public string Act()
{
return "this class a.Act";
}
}
///
/// B ,class a inherit interface IAction
///
class Bclass : IAction
{
public string Act()
{
return "this class b.Act";
}
}
///
/// C IAction ,class C set the interface as parameter
///
class Cclass
{
public string CallFun(IAction action)
{
return action.Act();
}
}
よびだし
// ,instantiate
InterfaceTest aclass = new InterfaceTest();
Bclass bclass = new Bclass();
Cclass cclass = new Cclass();
// ,use the class as parameter to call different functions
MessageBox.Show(cclass.CallFun(bclass)+"
"+ cclass.CallFun(aclass));