Вопросы с тегом «generics»

443
List <T> OrderBy по алфавиту

Я использую C # на Framework 3.5. Я ищу, чтобы быстро отсортировать Generic List<T>. Для примера, скажем, у меня есть список Personтипа со свойством фамилия. Как бы отсортировать этот список с помощью лямбда-выражения? List<Person> people = PopulateList(); people.OrderBy(???? =>...

441
Google Gson - десериализовать список <class> объект? (универсальный тип)

Я хочу передать объект списка через Google Gson, но не знаю, как десериализовать универсальные типы. Что я попробовал, посмотрев на это (ответ BalusC): MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass()); но затем я получаю ошибку в eclipse, говорящую «Тип new List ()...

433
Возможное загрязнение кучи через параметр varargs

Я понимаю, что это происходит с Java 7 при использовании varargs с универсальным типом; Но мой вопрос .. Что именно означает «Затмение», когда говорит, что «его использование может привести к загрязнению кучи?» А также Как новая @SafeVarargsаннотация предотвращает...

416
Общий список анонимного класса

В C # 3.0 вы можете создать анонимный класс со следующим синтаксисом var o = new { Id = 1, Name = "Foo" }; Есть ли способ добавить эти анонимные классы в общий список? Пример: var o = new { Id = 1, Name = "Foo" }; var o1 = new { Id = 2, Name = "Bar" }; List<var> list = new List<var>();...

409
Передача аргументов в C # generic new () шаблонного типа

Я пытаюсь создать новый объект типа T через его конструктор при добавлении в список. Я получаю сообщение об ошибке компиляции: Сообщение об ошибке: 'T': не может предоставить аргументы при создании экземпляра переменной Но у моих классов есть аргумент конструктора! Как я могу сделать эту работу?...

405
По каким причинам Map.get (Object key) не является (полностью) универсальным

Каковы причины, по которым принято решение не иметь полностью общий метод get в интерфейсе java.util.Map<K, V>. Чтобы прояснить вопрос, подпись метода V get(Object key) вместо V get(K key) и мне интересно, почему (то же самое для remove, containsKey,...

385
Универсальные символы Java с несколькими классами

Я хочу иметь объект Class, но я хочу заставить любой класс, который он представляет, расширить класс A и реализовать интерфейс B. Я могу сделать: Class<? extends ClassA> Или: Class<? extends InterfaceB> но я не могу сделать оба. Есть ли способ сделать...

381
Метод имеет такое же стирание, что и другой метод в типе

Почему не разрешено использовать следующие два метода в одном классе? class Test{ void add(Set<Integer> ii){} void add(Set<String> ss){} } Я получаю compilation error Метод add (Set) имеет то же самое стирание, что и Add (Set), что и другой метод в типе Test. в то время как я могу...

377
Передача одного элемента как IEnumerable <T>

Есть ли общий способ передачи одного элемента типа Tв метод, который ожидает IEnumerable<T>параметр? Язык - C #, версия фреймворка 2.0. В настоящее время я использую вспомогательный метод (это .Net 2.0, поэтому у меня есть целая куча вспомогательных методов приведения / проектирования,...

364
Есть ли ограничение, которое ограничивает мой универсальный метод числовыми типами?

Может кто-нибудь сказать мне, есть ли способ с обобщениями ограничить аргумент универсального типа Tтолько: Int16 Int32 Int64 UInt16 UInt32 UInt64 Я знаю whereключевое слово, но не могу найти интерфейс только для этих типов, Что-то вроде: static bool IntegerFunction<T>(T value) where T :...

326
Не может ли оператор == быть применен к универсальным типам в C #?

Согласно документации ==оператора в MSDN , Для предопределенных типов значений оператор равенства (==) возвращает true, если значения его операндов равны, в противном случае - false. Для ссылочных типов, отличных от string, == возвращает true, если два его операнда ссылаются на один и тот же...

307
IEnumerable и Recursion с использованием доходности

У меня есть IEnumerable<T>метод, который я использую, чтобы найти элементы управления на странице WebForms. Метод рекурсивный, и у меня возникают некоторые проблемы с возвратом yield returnнужного мне типа, когда возвращается значение рекурсивного вызова. Мой код выглядит следующим образом:...

306
Обобщения Java - почему «расширяет T» разрешено, но не «реализует T»?

Интересно, есть ли в Java особая причина использовать всегда " extends", а не " implements" для определения границ параметров типа. Пример: public interface C {} public class A<B implements C>{} запрещено, но public class A<B extends C>{} правильно. В чем причина...

288
Обнуляемый тип в качестве общего параметра возможно?

Я хочу сделать что-то вроде этого: myYear = record.GetValueOrNull<int?>("myYear"), Обратите внимание на обнуляемый тип в качестве универсального параметра. Так как GetValueOrNullфункция могла вернуть ноль, моя первая попытка была такой: public static T GetValueOrNull<T>(this...

288
Нулевое или стандартное сравнение универсального аргумента в C #

У меня есть общий метод, определенный следующим образом: public void MyMethod<T>(T myArgument) Первое, что я хочу сделать, это проверить, является ли значение myArgument значением по умолчанию для этого типа, примерно так: if (myArgument == default(T)) Но это не компилируется, потому что я не...