多點傳送委派是指參考多個委派方法。當叫用委派時,它會叫用每個方法。要注意的是委派必須是同型別,且回傳型別必須是void。也就是說不能有輸出參數,但可以帶有參考參數。
在現實世界中如同你一個人幫多人代繳學費的意思是一樣的。
範例如下:
using System;
namespace Test_Delegate
{
//宣告委派
delegate void TestDelegate (double value) ;
//宣告類別
public class MyDelegate
{
//方法一
public static void F (double value)
{
double result = vaule * 2 ;
Console.WrileLine ("F-value: { 0 } result { 1 } ", value, result) ;
}
//方法二
public static void F2 (double value)
{
double result = value * 3 ;
Console.WrilteLine ("F2-value: { 0 } result { 1 } ", value, result) ;
}
//方法三
public static void F3 (double value)
{
double result = value *value ;
Consle.WriteLine ("F3-value: { 0 } result { 1 } ", value, result) ;
}
}
//宣告類別
public class Test
{
public static void Main ( )
{
//設定傳入委派的參數
double x_value=1.732 ;
//實作一個委派物件
TestDelegate test = new TestDelegate (MyDelegate.F) ;
//傳入第二個委派
test += new TestDelegate (MyDelegate.F2) ;
//傳入第三個委派
test += new TestDelegate (MyDelegate F3) ;
//傳入參數
test (x_value) ;
Console.WriteLine (" 取消F2後的結果 ") ;
//取消F2的委派
test -= new TestDelegate (MyDelegate F2) ;
test (x_value) ;
}
}
}
沒有留言:
張貼留言