泛型是什么意思。 void SomeMethod(T t) { object temp = t; SomeClass obj = (SomeClass)temp; }一定要输入T型的吗,如果我输入的参数不是T型的,会有什么结果呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么看怎么不对劲啊.这是泛型吗?<T>这种才是吧..就跟C++中的模板一样.不是说参数是T型的,而是任何类型都可以当做参数. System.Collections.Generic Namespace 和专用类型相对就是泛型了.这里的T实际上是一个Type的意思,你可以使用任何类型,但一旦确定了这个类型,程序就按指定类型处理了. 可以参考如下的使用:void SomeMethod<T>(T t){ object temp = t; Form1 obj = (Form1)temp;}private void button1_Click(object sender, EventArgs e){ this.SomeMethod<Form>(this);} T只是一个占位付而已。范型类似与c++的模板,但是在实现机制上面有点不同,c++没有Metadata,所以对于你每次对函数的实现,会插入每套类型的代码,而.net只有一个占位付而已。T适合于任何类型。在没有范型的时候,你函数的定义为了适合很多情况,所以必定参数为Object t,对于int,float等primitive类型,你就要承担boxing,unboxing的代价。 C# 操作键盘 请教大家一个关于线程的问题 加水印图片,为什么加GIF图片,会报这样的错啊 "无法从带有索引像素格式的图像创建 Graphics 对象。 outlookBar怎么使用啊!~ 我想对一个URL连接进行加密和解密怎么做? 为什么我的DataList控件会不接受样式呢?CssClass居然无效哦! 关于教程 button是图片 点击Button以后换图片怎么实现呢 c#编写的windows服务程序调用不了c#写的类库 winform向网页提交数据和获取数据的问题 WebBrowser中玩flash游戏的问题---在线急等~~~ C#中如何引用DLL中含有指针的函数(急)
不是说参数是T型的,而是任何类型都可以当做参数.
这里的T实际上是一个Type的意思,你可以使用任何类型,但一旦确定了这个类型,程序就按指定类型处理了.
void SomeMethod<T>(T t)
{
object temp = t;
Form1 obj = (Form1)temp;
}
private void button1_Click(object sender, EventArgs e)
{
this.SomeMethod<Form>(this);
}
在没有范型的时候,你函数的定义为了适合很多情况,所以必定参数为Object t,对于int,float等primitive类型,你就要承担boxing,unboxing的代价。