例如
public class Myclass<T>
{
public void Method<U>(U op1) where U:T
{
}
}
我想问的是,为什么泛型方法的函数名后面,还要跟一个泛型参数???
除了可以函数重载以外,还有什么作用???
难道只是为了保持与泛型类定义上形式的统一?就为了美观和好看么?
因为昨天才看的泛型,而且是自学,没人指点。望各位高手解惑。
public class Myclass<T>
{
public void Method<U>(U op1) where U:T
{
}
}
我想问的是,为什么泛型方法的函数名后面,还要跟一个泛型参数???
除了可以函数重载以外,还有什么作用???
难道只是为了保持与泛型类定义上形式的统一?就为了美观和好看么?
因为昨天才看的泛型,而且是自学,没人指点。望各位高手解惑。
泛型约束,约束类型T必须具有无参的构造函数
表示T必须是class类型或它的派生类。
基本形式: where T : new()
呃,各位大牛太高估我了,我的问题其实非常简单,但是可能我表达的含糊了。
以我的例子为例,我说的是为什么Method后面要跟一个泛型 U ?参数里面不是有了一个泛型么,U op1 么?
这个是一个构造函数,LZ应该知道吧,函数必须有参数,参数是名是op1,类型是U,这个U是泛型里面给出的,可以是系统的类型,也可以是自定义类型比如以上函数可以这样调用:
int i=1;
Method<int>(i);或者Method<string>("Hello");