这可能是一个非常基本的问题,但它仍然让我感到困惑(和谷歌无法帮助);-)我如何将一个通用对象作为参数传递给功能?如何传递一个通用的对象作为方法参数
比如我有一个类CoolGeneric<T>
现在我需要一种方法DoSomethingWithAGeneric(CoolGeneric g)
。 在这里,编译器不断抱怨具体的类型参数是必要的。但该方法应该适用于各种类型的参数!
我该怎么做?谢谢!
这可能是一个非常基本的问题,但它仍然让我感到困惑(和谷歌无法帮助);-)我如何将一个通用对象作为参数传递给功能?如何传递一个通用的对象作为方法参数
比如我有一个类CoolGeneric<T>
现在我需要一种方法DoSomethingWithAGeneric(CoolGeneric g)
。 在这里,编译器不断抱怨具体的类型参数是必要的。但该方法应该适用于各种类型的参数!
我该怎么做?谢谢!
简单:
DoSomethingWithAGeneric<T>(CoolGeneric<T> g)
或者,如果该方法是一个类声明泛型类型中:
class MyClass<T> {
DoSomethingWithAGeneric(CoolGeneric<T> g)
}
你想:
DoSomethingWithAGeneric<T>(CoolGeneric<T> g)
编译器通常会检测T
自动(通用类型推断),所以呼叫者通常不会有t o指定它;即
CoolGeneric<int> foo = ...
DoSomethingWithAGeneric(foo);
,它是(通常)相同:
DoSomethingWithAGeneric<int>(foo);