Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

Как создать абстрактный класс с обобщенными параметрами, которые сами имеют обобщенные параметры?

#c_sharp #generics


Имеем 2 абстрактных класса

public abstract class Criteria where TEntity : class

public abstract class OperationResult where TEntity : class


Хочется сделать что-то такое, но не выходит.

public abstract class Query, TOperationResult>

    


Ответы

Ответ 1



Судя по всему, вам нужно, чтобы параметры обобщения были сами по себе обобщениями TEntity. Такое требование прямо наложить нельзя, но можно схитрить, добавив третий параметр и условия: public abstract class Query where TEntity : class where TCriteria : Criteria where TOperationResult : OperationResult { // ... }

Комментариев нет:

Отправить комментарий