炫意html5
最早CSS3和HTML5移动技术网站之一

请教:c#泛型方法的使用

初学泛型,请教各位大侠,
public class MyClass
{
//指定MyMethod方法用以执行类型为X的参数
public void MyMethod<X>(X x)
{
//
}

//此方法也可不指定方法参数
public void MyMethod<X>()
{
//
}

}

//调用泛型方法
MyClass myClass = new MyClass();
myClass.MyMethod<int>(3);
如上是我理解的简单泛型使用 即在方法名后边的<>中写入类型参数列表,比如T;再在后面的()中写入使用类型参数,比如T t1,实际调用泛型方法时,写入类型(int)和具体数值,但是我看到别人这样的写法(可查看附件),
private void CreateTestInstance<T>(RadioButton entryButton) where T : UserControl, ITestForm, new(){}
在实际调用时,使用的是CreateTestInstance<某某试验1>(rbtnTest1);此处的rbtnTest1为主窗体中的一个radiobutton,某某实验1为一个自定义控件(UserControl),也就是在声明泛型方法时,<>中写入了T,而其后面()中写入的是一个实际的类型,百度了一下,一些文章中说是重载用了这种写法,但是没搞懂这样写是否符合泛型方法声明,或是泛型方法到底可以如何声明,以及调用,
请大侠指点迷津,支出知识点的源头,我可以进一步学习,谢谢

回答

这是什么问题,泛型方法唯一必须的东西就是泛型参数,就是尖括号里面的类型,其他的地方可以随便写的。
你可以写一个泛型的无参方法

void Method<T>()
{
}

也可以写泛型的有参函数

void Method<T>(T t1)
{
}

void Method<T>(int value)
{
}

参数的类型和泛型方法的类型参数之间没有必然联系

炫意HTML5 » 请教:c#泛型方法的使用

Java基础教程Android基础教程