我有以下情况:
public class CustomDataGridView<T> : DataGridView
{
method1();
...
}
class ChannelsDataGridView : CustomDataGridView<Channel>
{
...
}
class NetworksDataGridView : CustomDataGridView<Network>
{
...
}
我需要方法:
public void Method(TYPE sender)
{
sender.method1();
}
此方法中的TYPE应该是什么,或者我如何实现此功能?
答案 0 :(得分:2)
看起来你想要一个通用的方法:
public void Method<T>( CustomDataGridView<T> sender )
请注意,如果这是在通用类中已经使用T
作为泛型参数,那么应该使用不同的字母:
public void Method<U>( CustomDataGridView<U> sender )
答案 1 :(得分:2)
通用方法可以解决这个问题:
public void Method<T>(CustomDataGridView<T> sender)
MSDN在这些方面有一些很好的正式documentation;但对于一些更有趣的用例,Joel Abrahamsson有一个good blog post。
答案 2 :(得分:1)
您应该将Method
定义为通用:
public void Method<T>(CustomDataGridView<T> sender)
{
sender.method1();
}