2014-11-12 3 views
2

У меня следующая ситуация:определить метод типа параметра из класса общего набранного

public class CustomDataGridView<T> : DataGridView 
{ 
    method1(); 
    ... 
} 

class ChannelsDataGridView : CustomDataGridView<Channel> 
{ 
    ... 
} 

class NetworksDataGridView : CustomDataGridView<Network> 
{ 
    ... 
} 

и мне нужен метод:

public void Method(TYPE sender) 
{ 
    sender.method1(); 
} 

Что должно быть тип в этом методе или как я мог бы добиться этого функциональность?

ответ

2

Похоже, вы хотите общий метод:

public void Method<T>(CustomDataGridView<T> sender) 

Примечание, если это в общем классе, который уже использует T для общего параметра, чем вы должны использовать другую букву:

public void Method<U>(CustomDataGridView<U> sender) 
1

Вы должны также определить Method:

public void Method<T>(CustomDataGridView<T> sender) 
{ 
    sender.method1(); 
} 
2

Общий метод будет делать трюк:

public void Method<T>(CustomDataGridView<T> sender) 

MSDN имеет некоторые хорошие формальные documentation на них; но для некоторых более интересных примеров использования Джоэл Абрахамссон имеет good blog post.

+0

Это именно то, что мне нужно. Забыл об общих методах. Спасибо вам, ребята. – user1816806

Смежные вопросы