Вопросы по теме 'generic-constraints'

Общее ограничение: принудительно использовать для типа статическую функцию и конструктор с параметрами.
Я знаю, что вы можете написать: class GenericClass<T> where T : new() { } для обеспечения того, чтобы T имел пустой конструктор. Мои вопросы: можете ли вы сделать так, чтобы T имел конструктор с определенным типом...
1247 просмотров
schedule 27.05.2022

Delphi XE: Могу ли я вызывать виртуальные конструкторы с параметрами из универсального типа, ограниченного типом класса, не прибегая к хакам?
Я пытаюсь создать общий предок для составных элементов управления. Первоначальная идея выглядела примерно так: type TCompositeControl<TControl1: TControl; TControl2: TControl> = class(TWinControl) private FControl1, FControl2:...
1174 просмотров

С# неограниченный общий тип как ограничение
Возможно ли иметь универсальное ограничение, которое является неограниченным универсальным типом? Например: public T DoSomething<T>(T dictionary) where T : IDictionary<,> { ... } Редактировать: Просто чтобы объяснить...
1175 просмотров
schedule 26.03.2024

Избегание явного универсального типа С#
Скажем, у меня есть общий class с ограничением, при котором T должен реализовывать IWatchable<TKey> , есть ли способ использовать Watcher без явного объявления типа TKey , учитывая, что T все равно будет предоставлять это? public...
974 просмотров
schedule 27.07.2023

Есть ли способ избежать передачи двух общих параметров в моем методе расширения?
У меня есть класс типа Installer, где TModel имеет ограничение. Я хочу создать метод расширения с сигнатурой типа :\ public static void DoRepetitiveStuff<TOtherObject, TModel>(this Installer<TModel> installer) where TModel : class,...
48 просмотров
schedule 19.05.2023

Почему ковариантный тип не используется в качестве универсального ограничения для методов интерфейса? (С#)
Проблема: interface ICovariant<out R> { // The following statement generates a compiler error // because you can use only contravariant or invariant types // in generic constraints. // void DoSomething<T>() where T : R;...
51 просмотров

Могу ли я иметь несколько ограничений класса, не устанавливая ограничение на тип «класс» в С#
У меня есть этот класс, он является частью моего шаблона спецификации. Перейдя по этой ссылке public class SpecificationEvaluator<TEntity> where TEntity : BaseEntity а BaseEntity состоит только из идентификатора ex. public...
61 просмотров