跳至主要内容

📪 Acton 泛型委派 - 傳參數

1. 定義函式

  • 傳入值設定為 Action <string>
  • <T> 之中帶入要傳遞的變數型別
  • Action -> 可以直接傳入函式
    /// <summary>
/// 定義函式
/// </summary>
/// <param name="animal">動物的委派</param>
private static void RunCircus(Action<string> animal, string name)
{
animal(name);
}

2. 呼叫馬戲團

  • 直接傳入狗函式
  • 無須做任何實例化
 RunCircus(Dog, "狗狗");

完整程式碼

using System;

namespace CSharpExercise.DelegateExercise
{
public class DelegateExercise5
{
/// <summary>
/// 主程式
/// </summary>
public void Main()
{
RunCircus(Dog, "狗狗");
}


/// <summary>
/// 定義函式
/// </summary>
/// <param name="animal">動物的委派</param>
private static void RunCircus(Action<string> animal, string name)
{
animal(name);
}

/// <summary>
/// 小狗函式
/// </summary>
private static void Dog(string name)
{
Console.WriteLine($"汪汪!我是{name}");
}
}
}