有大侠见过
class myclass<T> where T : myclass<T>这种定义方式么?泛型T还是myclass<T>,myclass<T> 好像是一层一层嵌套起来的, 就好像myclass<myclass<myclass<....>>>有哪位大侠能解释一下,这个东西是怎么回事啊?能不能给个简单的例子阿? 我困惑好长时间了
多谢了!
解决方案 »
- 提示错误,未将对象引用设置到对象实例
- 用c#编写程序 职工号按由小到大的顺序排列.姓名顺序也随之调整.急急
- 求问关于WeifenLuo组件的问题(了解的请进)!
- 求一个定时提醒的思路。
- 如何在toolbarbutton的文字左边添加小图标
- C#菜鸟问一个极简单的问题,急!!!!
- *****VSS高手有关备份的问题,来一下呀********
- 问个NumericUpDowm的小小问题!
- 大家谁帮我解决一下连接数据库报System.NullReferenceException异常的错??谢谢
- 请问:如果我想在。NET上使用API函数。而我也只知道函数名,怎样查找他的内容?和在。NET上的参数形式
- 一个学习很久编程者的苦恼和困扰
- 关于gridview导出excel
{
public myclass()
{
}
public void func(T aa)
{
T bb = aa;
//...其他代码
}
} public class mychild : myclass<mychild>
{
//....其他代码
}
//调用
myclass<mychild> my = new myclass<mychild>();
mychild child = new mychild();
my.func(child);
例如:
在定义父类时,父类里要用到子类,而子类的定义是不明确的(即在定义父类时子类尚未定义,子类可能由其他人来定义),而现在父类里又要用到子类,所以只能给个模板T,并且约束这个模板T的类型必须是继承myclass的类;我语言表达能力差,不知道你能看懂不?
表示myclass里可以使用一个泛化的类型T,并约束T是自己的子类。
public class man<T> where T : man<T>
{
public 给孩子起名字函数(T 孩子, string 名字)
{
孩子.Name=名字; //...其他代码
}
} //下面两个类可能是别人后定义的
public class boy: man<boy>
{
//....其他代码
public string Name;
public void printMyName()
{
Console.WriteLine("man给我起名字是:"+Name);
}
} public class girl: man<girl>
{
//....其他代码
public string Name; public void printMyName()
{
Console.WriteLine("man给我起名字是:"+Name);
}
}