C# - 函数的返回类型是一个参数

时间:2013-10-17 17:34:08

标签: c# parameters

我想知道函数是否可以返回C#中参数中指定类型的值。

这就是我想要做的事情:

public ReturnValueUndefined function(undefinedType value)
{
    return value;
}

我想使用它,因为我希望我的函数将任何类作为参数并返回相同的类。

谢谢!

1 个答案:

答案 0 :(得分:18)

你想要一个通用的功能。

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

请记住,编译器只能假设T是一个对象,因此您只能执行Equals,ToString等基本操作。您可以向泛型方法添加where约束以假设参数就像一个阶级或一个结构一样具体。

public T YourFunctionName<T>(T value) where T : class
{
    return value;
}

虽然您很可能实际上只想使用基类或接口来处理多个类型。使用通用方法时,如果您无法对该模式执行任何操作,则可以快速实现。如果您的约束使您达到必须将泛型方法限制为仅处理特定接口类型的程度,那么您可能只希望该方法成为接口的一部分。