我是新的C#和它看起來我需要使用Dictionary<string, Action>
所以我寫了下面的代碼:調用操作參考
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
var functions = new Dictionary<string, Action<string[]>>();
functions.Add("Foo", CountParameters);
functions.Add("Bar", SomeOtherMethodName);
Console.WriteLine("Hello World");
Action<string[]> action;
if (functions.TryGetValue("Foo", out action))
{
action();
// What shall I write here to invoke the action!?
}
else
{
// No function with that name
}
}
public static void CountParameters(string[] args)
{
Console.WriteLine("Fn 1");
}
public static void SomeOtherMethodName(string[] args)
{
Console.WriteLine("Fn 2");
}
}
我的問題是兩個部分:
- 如果條件成立,我應該如何調用
Action
。 - 我理解
Action
是Func
與void
回報,但看起來輸入args
是必須的,在我的情況,我沒有一個input args
也不是output
所以是Action
我需要什麼,或者可能是別的東西?
1.以任何方式調用它?例如:'action(new string [] {「」});' - 2.如果它是'Func'則必須有返回類型。如果它是一個Action,它沒有返回類型。兩者都可以有你定義的輸入參數(最多16個我認爲)。這包括*零*輸入參數。爲什麼當他們不需要它時,將這些操作/方法定義爲需要輸入參數'string []'? – Corak