C#-将可变数量的参数传递给方法中的其他方法

问题描述 投票:1回答:1

我知道标题有点难以理解,但是以下示例应阐明我的意思:

想象您有一个具有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#实现这一目标?

c# variables dynamic parameters overloading
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.