如何将参数作为单个对象传递?

Adn*_*and 2 c# methods parameter-passing optional-parameters

我有这个例子告诉你我在寻找什么:

private void myMethod(string a = "", string b = "", string c = "")
{
   // do things
}
Run Code Online (Sandbox Code Playgroud)

我想找到一种可以像这样调用该方法的方法:

MyParameterObject parameters = new MyParameterObject();
// b is the name of parameter
parameters.AddParameter("b", "b_value");
parameters.AddParameter("c", "c_value");
myMethod(parameters);
Run Code Online (Sandbox Code Playgroud)

suj*_*lil 5

如果方法中所需的所有参数值都是相同的类型(让它string),那么您可以Dictionary像下面这样传递参数:

private void myMethod(Dictionary<string,string> paramDictionary)
{
   // do things
}
Run Code Online (Sandbox Code Playgroud)

这样你就可以调用这样的方法:

Dictionary<string,string> paramDictionary = new Dictionary<string,string>();
paramDictionary.Add("b", "b_value");
paramDictionary.Add("c", "c_value");
myMethod(paramDictionary);
Run Code Online (Sandbox Code Playgroud)