Как я могу использовать интерфейс в качестве универсального ограничения типа C#?

OmniAudit мог бы быть хорошим решением для Вас, нуждаются. Я никогда не использовал его прежде, потому что я - довольно счастливая запись моих собственных контрольных стандартных программ, но это звучит хорошим.

154
задан xr280xr 6 April 2015 в 20:44
поделиться

3 ответа

Ближайшее, что вы можете сделать (за исключением подхода с базовым интерфейсом), - это «, где T: class », что означает ссылочный тип. Не существует синтаксиса для обозначения «любого интерфейса».

Это (« где T: class ») используется, например, в WCF для ограничения клиентов контрактами на обслуживание (интерфейсами).

125
ответ дан 23 November 2019 в 22:00
поделиться

Нет, на самом деле, если вы думаете class и struct mean class es и struct s, ты не прав. class означает любой ссылочный тип (например, включает также интерфейсы), а struct означает любой тип значения (например, struct ,

26
ответ дан 23 November 2019 в 22:00
поделиться

Вы не можете сделать это ни в одной выпущенной версии C #, ни в грядущей версии C # 4.0. Это также не ограничение C # - в самой среде CLR нет ограничения «интерфейса».

8
ответ дан 23 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: