2013-06-28 3 views
1

Я пытаюсь создать параметрическую функцию полиморфизма в C#:Параметрический полиморфизм в C#?

Я хочу, чтобы T был переменной типа. Но я получаю ошибку о классе T не найден.

Кто-нибудь знает, как это исправить?

Спасибо.

public List<T> getX(SPListItemCollection itemCollection, List<T> itemList, Report RO, WebpartSettings WPS) 
    { 
     foreach (T item in itemCollection) 
     { 
      if (have_permissions_for_item(WPS.EDIT_MODE, item, RO)) 
      { 
       itemList.Add(item); 
      } 
     } 
     return itemList; 
    } 

ответ

4

Изменить

public List<T> getX(SPListItemCollection itemCollection, List<T> itemList, Report RO, WebpartSettings WPS) 

в

public List<T> getX<T>(SPListItemCollection itemCollection, List<T> itemList, Report RO, WebpartSettings WPS) 

Есть более близкий взгляд на то, как Generic Methods (C# Programming Guide) это делает.