C# - 函数的返回类型与参数类型相同

8
我想知道在C#中是否有可能让函数返回一个由参数指定类型的值。
这是我想做的事情:
public ReturnValueUndefined function(undefinedType value)
{
    return value;
}

我想使用这个功能,因为我希望我的函数可以接受任何类作为参数,并返回相同的类。

谢谢!


可能是如何使方法的返回类型成为通用类型?的重复问题。 - Black Frog
1个回答

20
你需要一个通用函数。
public T YourFunctionName<T>(T value)
{
    return value;
}

请记住编译器只能假定T是一个对象,因此您只能执行基本操作,如Equals,ToString等。 您可以向通用方法添加where约束,以假定参数是某些具体的东西,例如类或结构。

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

尽管您可能只是想使用基类或接口来处理多种类型,但使用泛型方法时,您很快就会意识到是否可以使用该模式实现所需功能。如果您的约束条件使您必须将泛型方法限制为仅在特定接口类型上工作,则最好将该方法作为接口的一部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接