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

本文关键字:返回类型 参数 函数 | 更新日期: 2023-09-27 18:35:45

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

我想做的是:

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

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

谢谢!

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

你想要一个泛型函数。

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

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

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

尽管您很有可能实际上只想使用基类或接口来将多个类型视为相同。 使用泛型方法时,您将很快意识到,如果您不能使用该模式执行您可能想要执行的操作。 如果您的约束将您带到必须将泛型方法约束为仅适用于特定接口类型的地步,那么您可能只希望该方法成为接口的一部分。