Вопросы по теме 'generic-constraints'
Почему Nullable ‹T› не соответствует типу ссылки для общих ограничений
Возможный дубликат: Тип, допускающий значение NULL, как общий параметр возможен?
Я наткнулся на очень странную вещь с ограничениями универсального типа. У меня есть такой класс:
public SomeClass<T> where T:class
{
}...
2403 просмотров
schedule
12.02.2023
Простое общее недоразумение
Не могли бы вы помочь мне понять ошибку в этом случае?
public interface IGeneralInterface
{
}
public class A : IGeneralInterface
{
}
public class B : IGeneralInterface
{
}
public class SomeClass<TGenericType> where TGenericType :...
104 просмотров
schedule
27.08.2022
Создание экземпляра универсального класса с ограничениями по типу без его подкласса
Фон
[Перейдите к Вопросу , если предыстория вас не интересует]
Я наткнулся на это универсальное определение класса, читая на днях, и на некоторое время оно поставило меня в тупик:
public abstract class Entity<T> where T :...
123 просмотров
schedule
28.08.2022
Ограничение базового класса для универсального класса, определяющее сам класс
Вчера я объяснял своим друзьям общие ограничения C#. При демонстрации ограничения where T : CLASSNAME я сделал что-то вроде этого:
public class UnusableClass<T> where T : UnusableClass<T>
{
public static int method(T input){...
1589 просмотров
schedule
12.05.2023
Почему именно эти специальные классы?
После прочтения этот вопрос с вопросом, что такое "специальный класс", у меня остался вопрос, почему шесть классов System.Object , System.Array , System.Delegate , System.Enum и System.ValueType были выбраны и жестко закодированы как...
353 просмотров
schedule
13.04.2023
Как извлечь ограничения универсального метода с помощью отражения в С#?
Учитывая объект типа System.Reflection.MethodInfo , как я могу извлечь общие ограничения параметров? Что-то не могу найти разумной информации по этому поводу.
605 просмотров
schedule
12.01.2024
Ошибка F # в общем ограничении
Следующий код F #
let f<'T when 'T: (member Id:int)> (t:'T) = t.Id
не принимается со следующей ошибкой:
Ошибка FS0670 Этот код не является достаточно общим. Переменная типа ^ T when ^ T: (member get_Id: ^ T -> int) не может...
351 просмотров
schedule
28.09.2022
Исключить интерфейс из общего ограничения
Я создаю общий метод, в котором тип T будет int, long, float или double. Я искал и нашел это решение и теперь хочу исключить DateTime из общих ограничений.
Я хочу что-то вроде:
class SomeGeneric<T> where T : unmanaged, IComparable,...
90 просмотров
schedule
05.06.2023
Как мне интерпретировать аргумент метода сравнения (Функция‹? super T,? extends U› keyExtractor)?
Полная подпись метода:
public static <T, U extends Comparable<? super U>> Comparator<T> comparing(
Function<? super T, ? extends U> keyExtractor)
Я изучаю лямбда-выражения, и у меня есть этот фрагмент кода,...
466 просмотров
schedule
05.03.2023
Сужение типов не работает должным образом с общими ограничениями
У меня есть ситуация, когда общий тип ограничен типом объединения, но я считаю, что это не приводит к тому, что сужение типа работает должным образом. Приведенный ниже фрагмент кода показывает, что происходит.
function somefunc<T extends string...
104 просмотров
schedule
03.08.2023