从参数类型派生方法返回类型

时间:2019-07-27 11:41:09

标签: c# function return-value func

我想知道是否可以创建这样的方法:

public var test (var value)
{
    // ...
    return value;
}  

意思是,如果valuebool,我想返回一个bool,如果valuestring,我想返回一个{ {1}},等等。

3 个答案:

答案 0 :(得分:1)

根据您的最终声明,您想返回输入中收到的相同类型,因此,可以使用泛型函数

public T test<T>(T input)
{
    return input;
}

void Main()
{
    Console.WriteLine(test(true));
    Console.WriteLine(test(1));
    Console.WriteLine(test("Steve"));
}

More info on Generics

答案 1 :(得分:1)

如果您的返回类型应该与value参数的类型相同,则可以使用通用参数创建方法:

public T Test<T>(T value)
{
    return value;
}

详细了解泛型here

您提到您也可以使用dynamic关键字来执行此操作,但是我建议不要在这种情况下使用dynamic。在某些特殊情况下,dynamic应该在泛型上使用,但是当您处理COM互操作时,它主要变得很重要。

答案 2 :(得分:0)

我找到了一种方法:

php artisan migrate