2011-01-12 2 views
0

Я следующие интерфейсы, определенныеКак определить Препятствия для нескольких различных общих типов

interface IStoreItem 
{ 

} 

interface ILoadItem 
{ 

} 

Теперь я хотел бы реализовать коллекцию, которая может обрабатывать элементы этих interafeces, но как правило, класс, реализующий IStoreItem не понимают ILoadItem , Так можно каким-то образом определить ограничение:

public class NetworkingCollection<T> : List<T> 
    where T : IStoreItem or ILoadItem 
{ 

} 

ответ

5

Это не поддерживается.

Для каждого интерфейса, который вы хотите ограничить, вам понадобится другой класс.


В качестве альтернативы, если вы унаследовали IStoreItem и ILoadItem от общего интерфейса (скажем IGenericItem), вы можете ограничить к родительскому интерфейсу.

+0

Хорошо, я ожидал этого ответа. Спасибо. –

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