作者FF16 (好無聊)
看板C_Sharp
標題[問題] 指向物件的「方法群組」
時間Sat Oct 2 11:07:04 2010
namespace ConsoleApplication1
{
class Program
{
class A
{
public Action WhenAection =
null;
public A(){ }
public void FuncA()
{
/*一些程式碼*/ }
public void FuncB()
{
/*一些程式碼*/ }
/*下略,總而言之,很多方法*/
}
static void Main(string[] args)
{
A a =
new A();
a.WhenAection = a.FuncA;
//======================================
A b =
new A();
/*
a.WhenAection = b.WhenAection;
a.WhenAection.Target = a;
失敗,因為a.WhenAection.Target唯讀,不能用這種方法變更執行個體
*/
}
}
}
請問在使用委派時,如何做到.....
如果 (a.WhenAection == a.FuncA)
就設定 b.WhenAection == b.FuncA
(以此類推)
另外.... 不是很希望使用一堆if... else if 的陳述句
因為同一class下的方法很多
而且不少class都需要用到這種處理方式
--
我就是喜歡從後面來
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.140.107.28
※ 編輯: FF16 來自: 220.140.107.28 (10/02 11:16)
※ 編輯: FF16 來自: 220.140.107.28 (10/02 11:31)
推 b195f1a:不用判斷的有點困難,因為A跟B是不同的執行個體 10/02 21:03
→ b195f1a:要不然宣告public static Action WhenAection = null; 10/02 21:05
推 b195f1a:直接調用A.WhenAection 10/02 21:11
→ FF16:那樣的話,意思不一樣喔.... 10/03 06:22