我知道标题有点难以理解,但是以下示例应阐明我的意思:
想象您有一个具有2个重载的方法:
void Method(int i)
{
Console.WriteLine("Method(int) called");
}
void Method(int i, string s)
{
Console.WriteLine("Method(int, string) called");
}
然后,您还有另一种采用可变数量参数的方法:
void MethodOverload(params dynamic[] parameters)
{
Method(parameters); // Call one of the overloading methods depending on the parameter amount and their type
}
上面的方法接受任何数量的任何类型的参数。我想根据传递的参数及其类型来调用其中一种重载方法。
例如:
void Run()
{
TestFuncOverload(5); // Output: "testFunc(int) called"
TestFuncOverload(5, "some text"); // Output: "testFunc(int, string) called"
TestFuncOverload(5, 5); //Error
}
如何用C#实现这一目标?