當前位置:編程學習大全網 - 編程軟體 - C# 中多個子程序 a() b() c()。主程序調用時,如果變量x的值為a或b或c。怎麽才能做到直接調用相應的子程?

C# 中多個子程序 a() b() c()。主程序調用時,如果變量x的值為a或b或c。怎麽才能做到直接調用相應的子程?

string 和方法是兩種不同的類型

要想通過string執行壹個方法,就需要映射它們的關系;然後用字符串來執行關聯的方法

我這裏用字典來手動註冊關系:

var?dicHandle?=?new?Dictionary<string,?Action<string>>();

dicHandle.Add("計時",?c?=>?計時(c));

dicHandle.Add("攪拌",?c?=>?攪拌(c));

dicHandle.Add("加料",?c?=>?加料(c));

string?x?=?"計時";

//如何通過X的值直接調用

//?計時(300)

dicHandle[x].Invoke("300");

效果如圖:

當然,還有另壹種映射方法就是自動映射;可以通過反射動態創建類型然後動態調用它的方法,甚至還能通過DLL名稱動態加載程序集

  • 上一篇:同步方法和同步代碼塊的區別是什麽 知乎
  • 下一篇:c#get和set用法詳解
  • copyright 2024編程學習大全網