下面类NewObject定义中,“T”与其方法display<T>中的“T”是同一类型的吗?如果是,为什么Main里面的语句能使用不同的数据类型?using System;namespace MySpace
{ class NewObject<T>
{
public void display<T>(T value)
{
Console.WriteLine("{0}",value);
}
} public class TestMethodTTwo
{
public static void Main()
{
NewObject<string> myob = new NewObject<string>();
myob.display<string>("hello");
myob.display<int>(3);
myob.display<float>((float)3.3);
Console.ReadLine();
}
}
}
{ class NewObject<T>
{
public void display<T>(T value)
{
Console.WriteLine("{0}",value);
}
} public class TestMethodTTwo
{
public static void Main()
{
NewObject<string> myob = new NewObject<string>();
myob.display<string>("hello");
myob.display<int>(3);
myob.display<float>((float)3.3);
Console.ReadLine();
}
}
}
解决方案 »
- DataTable.Select()过滤?
- 数据库绑定的CheckBoxList如何取值?
- c# 中richtextbox 中撤销操作
- ####公司要被合并了,我是该走还是留#######
- 求B/S体系下Web页面读取RS232串口数据的解决方案(C#)
- 很急的一个问题?
- 想写个类继承SocketAsyncEventArgs,但是遇到个事件绑定问题
- 请问:如何将一个app.resouces文件与自己的应用程序相连呢
- 遇到关键词时会自动变色
- 关于treeview的问题!!!!
- 到底传递的是值还是引用?
- string str = ""这样初始化怎么下面还会有nullReferenceException呢
{
public void display <T>(T value)
{
Console.WriteLine("{0}",value);
}
}
你这样定义没出错吗???两个名字一样
那只是一个占位符,
换成其他的就不会了,
{
public void display <U>(U value)
{
Console.WriteLine("{0}",value);
}
}
这样当然可以其他类型!!!
to 7楼
想问的就是“泛型类”所带的"T"与其里面方法display<T>中的"T"有何关系,而不是两种不同的泛型(都是“T”,而不是“T”与“U”)。
to 5楼
泛型的知识还只是初学,谢谢你提供的资料。
{
public void display<T>(T value)where T:IList<T>
{
Console.WriteLine("{0}", value);
}
}
在方法里输入value,然后输入.,可以从智能感知看到,value的类型是方法里的T,而非类型里的T,所以两个T是不一样的
class NewObject <T1>
{
public void display <T2>(T2 value)
{
Console.WriteLine("{0}",value);
}
}
{
public void display<T>(T value)
{
Console.WriteLine("{0}", value);
} public T GET(T VALUE)
{
return VALUE;
}
} 如果换成属性,那样就不行了!!!
不过同名会有警告,呵呵,弄错了,还说是报错!!!VALUE中的T应该是方法中的T,