跳至主要内容

📪 Func<T> 泛型委派 - 有回傳值

1. 定義函式

  • 傳入值設定為 Func<string>
  • <T> 設定回傳值型態
  • Func <string> ->可以直接傳入函式
    /// <summary>
/// 定義函式
/// </summary>
/// <param name="animal">動物的委派</param>
private static void RunCircus(Func<string> animal)
{
string sound = animal();
Console.WriteLine(sound);
}

2. 呼叫馬戲團

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

完整程式碼

using System;

namespace csharpExercise.DelegateExercise
{
public class DelegateExercise6
{
/// <summary>
/// 主程式
/// </summary>
public void Main()
{
RunCircus(Dog);
}


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

/// <summary>
/// 小狗函式
/// </summary>
/// <returns></returns>
private static string Dog()
{
return "汪汪!";
}
}
}