Лучшие generics вопросы ИТ разработчиков

  • 2 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Спасибо вам обоим, отличное объяснение и пример!

те возьмем интерфейс interface IOwnedBy<T> where T : IOwner { T Owner { get; } }а также interface IOwner { public int Id { get; } }Где-то в моем коде я хотел бы сделать следующее: if (obj is OwnedBy<IOwner>) { DoSomethingWith( obj.Owner.Id ); ...

Задан 14 Jul 2017, 10:28 от mbue
  • 4 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

и называть это так

я есть класс public class Setting<T> { public string name { get; set; } public T value { get; set; } }Теперь я хочу создатьIList<Setting<T>> но с разными типамиSetting<T>T в этом, я хочу e.G. List<Setting<T>> settingsList; settingsList.Add(new ...

Задан 05 Jun 2011, 10:03 от Tokk
  • 11 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Это должно скомпилировать и работать.

даю, что есть один из двух ответов на этот вопрос, либо невозможный, либо чрезвычайно простой, и я упустил очевидный запрос Google. Основная проблема заключается в том, что у меня есть общий объект, передаваемый черезEventHandler который ...

Задан 10 Jun 2011, 01:30 от falquan
  • 12 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Общий метод для извлечения DbSet <T> из DbContext

Я использую Entity Framework с большой базой данных (состоящей из более чем 200 таблиц).Попытка создать универсальный метод, который возвращает

Задан 08 Jul 2014, 08:16 от Serge P
  • 53 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Фильтрация значений из общего словаря C #

У меня есть словарь C #,Dictionary<Guid, MyObject> что мне нужно отфильтровать на основе свойстваMyObject. Например, я хочу удалить все записи из словаря, гдеMyObject.BooleanProperty = false, Каков наилучший способ добиться этого?

Задан 25 Jan 2010, 10:38 от Fiona - myaccessible.website
  • 1 голос
  • 3 ответа
  • 0 просмотров
3 ответа

Я указывал (6 лет назад) на наиболее очевидную причину, по которой кусок кода не компилируется (функция имеет тип возврата, но не имеет оператора возврата).

й пример довольно сложный, и я его совсем не понял, моя проблема как-то похожа, но, как я уже сказал, он проще и может дать более простой ответ. public List<? extends Parent> myfunction(List<? extends Parent> mylist){ mylist.add(new Child()) ; ...

Задан 23 Apr 2011, 11:40 от Ismail Marmoush
  • 9 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

 гарантию ". Я опустил окончание первого слова, потому что все в этой публикации было слишком длинным. :)

la есть хорошая возможность выводить параметр типа внутри сопоставления с образцом. Он также проверяет исчерпанность сопоставления с образцом. Например: sealed trait PField[T] case object PField1 extends PField[String] case object PField2 ...

Задан 09 Aug 2018, 12:05 от sikor
  • 2 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

@Jon: очень верно.

не позвонитьSomeObject.SomeGenericInstanceMethod<T>(T arg) ? Есть несколько постов о вызове обобщенных методов, но не совсем так. Проблема заключается в том, что параметр аргумента метода ограничен универсальным параметром. Я знаю, что если бы ...

Задан 19 Jan 2011, 17:04 от smartcaveman
  • 329 голосов
  • 15 ответов
  • 0 просмотров
15 ответов

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

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

Задан 16 Oct 2009, 12:40 от Groo
  • 8 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

 если тип

ли способ заменить конструктор-аргумент аннотации? У меня есть этот конструктор: public GenericDAOImpl(Class<T> type) { this.type = type; }и мне нужно ввести это на моем фасаде: @Inject private GenericDAO<Auto, Long> autoDao;Проблема в том, ...

Задан 06 Jan 2011, 11:23 от Roberto de Santis
  • 117 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Вызов универсального метода с аргументом типа, известным только во время выполнения [duplicate]

На этот вопрос уже есть ответ здесь:Как использовать рефлексию для вызова универсального метода? 7 ответовРедактировать:Конечно, мой настоящий код выглядит н...

Задан 28 Nov 2008, 06:28 от Presidenten
  • 13 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Да, мой ответ кажется хаком до тех пор, пока поток не найдет решение, но на самом деле оно работает, как ожидалось, и тип проверяет неправильное использование Но спасибо за ваш подробный ответ.

чно стараюсь отделить типы потоковых функций от их реализации. Это немного более читабельно, когда я пишу: type Fn = string => string; const aFn: Fn = name => `hello, ${ name }`;скорее, чем: const aFn = (name: string): string => `hello, ${ name ...

Задан 05 Oct 2017, 23:33 от norbertpy
  • 16 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

).

я есть метод в классе, который имеет тип возвращаемого значения, указанный с помощью универсального. public class SomeMain { public static void main(String[] args) { Foo<Integer> foo = new Foo<Integer>(); System.out.println(foo.getFoo()); // ...

Задан 22 Sep 2018, 16:35 от Ray
  • 23 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Generics компилируется и запускается в Eclipse, но не компилируется в javac

Заметка: Это ответвление отКонтракт сравнимый и компаратор по нулюЭтот код компилируется и отлично работает в Eclipse (

Задан 18 May 2010, 15:43 от polygenelubricants
  • 16 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

C # дженерики - без нижних границ по дизайну?

Я читал интервью с Джошуа Блохом в журнале «Coders at Work», где он посетовал на введение обобщений в Java 5. Ему не очень нравится конкретная реализация, потому что поддержка отклонений - подстановочные знаки Java - делает его ...

Задан 03 Jan 2010, 00:42 от ehnmark
  • 94 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Уже есть 6 других ответов, показывающих, как это сделать. Нам не нужен седьмой ответ, показывающий то же самое.

у использовать инициализатор коллекции для следующего бита кода: public Dictionary<int, string> GetNames() { Dictionary<int, string> names = new Dictionary<int, string>(); names.Add(1, "Adam"); names.Add(2, "Bart"); names.Add(3, "Charlie"); ...

Задан 30 Jan 2009, 10:18 от Gerrie Schenck
  • 63 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Создание общего свойства

У меня есть класс, который хранит сериализованное значение и тип. Я хочу иметь свойство / метод, возвращающий уже приведенное значение:

Задан 07 Nov 2008, 05:57 от fer
  • 8 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Обобщения Java с классом <T>

Итак, у меня есть карта: Map<String, Class> format = new HashMap<String, Class>();И я хотел бы добавить элементы к нему, как это: format.put("Vendor Number", Integer.class); format.put("Vendor Dispatch", Date.class); ....У меня есть общий метод ...

Задан 31 May 2009, 14:04 от Jay
  • 55 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Как создать литерал класса известного типа: Class <List <String >>

Возьмите следующее: public Class<List<String>> getObjectType() { // what can I return here? }Какое литеральное выражение класса я могу вернуть из этого метода, который будет удовлетворять шаблонам и компилировать?List.class не будет ...

Задан 06 Jan 2010, 10:45 от skaffman
  • 9 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

JSON и Generics в Java - предупреждение о безопасности типа

У меня есть некоторые данные, хранящиеся в элементах Java, и мне нужно вернуть их в заданном формате - JSONObject. Хотя моя реализация работает нормально, я все еще получаю предупреждающее сообщение от eclipse (Версия: Juno Service Release ...

Задан 07 May 2013, 09:17 от Itay Gal
  • 71 голос
  • 5 ответов
  • 0 просмотров
5 ответов

«Это было бы сложно реализовать» Это глупость. Это было бы тривиально реализовать. Работа по проверке типа по ограничениям шаблона не усложняется, потому что тип-кандидат появляется в другом месте, в файле (то есть в шаблоне, а не в его создании).

лонах C ++ можно указать, что определенный параметр типа является значением по умолчанию. То есть если явно не указано, он будет использовать тип T. Это можно сделать или приблизить в C #? Я ищу что-то вроде: public class MyTemplate<T1, ...

Задан 01 Apr 2009, 23:51 от el2iot2
  • 8 голосов
  • 7 ответов
  • 0 просмотров
7 ответов

Дженерики и обнуляемый тип

Скажем, у меня есть метод, который принимает int в качестве строки и возвращает int, если синтаксический анализ завершается успешно, или нуль-значение в противном случае. int? ParseValue(string intAsString) { int i; if (int.TryParse(intAsString, ...

Задан 10 Dec 2009, 04:55 от Phillip Ngan
  • 416 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

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

Я использую C # на Framework 3.5. Я ищу, чтобы быстро отсортировать GenericList<T>, Ради этого примера, скажем, у меня есть списокPerson введите со свойством фамилия. Как бы отсортировать этот список с помощью лямбда-выражения? List<Person> ...

Задан 09 Oct 2008, 16:48 от SaaS Developer
  • 19 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Предупреждение ArrayList является необработанным типом. Ссылки на универсальный тип ArrayList <E> должны быть параметризованы [duplicate]

Возможный дубликат: ArrayList является необработанным типом. Ссылки на универсальный тип ArrayList <E> должны быть ...

Задан 08 Jan 2013, 01:38 от Diego
  • 46 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Вывод типа отражения на Java 8 Lambdas

Я экспериментировал с новыми лямбда-выражениями в Java 8 и искал способ использовать отражение в классах лямбда-выражений для получения возвращаемого типа ля...

Задан 19 Feb 2014, 17:04 от Stephan Ewen
  • 15 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Приведение значения к T в общем методе

У меня есть интерфейс для скрипучей карты свойств: interface IPropertyMap { bool Exists(string key); int GetInt(string key); string GetString(string key); //etc.. }Я хочу создать метод расширения следующим образом: public static T ...

Задан 13 May 2009, 08:15 от Benjol
  • 375 голосов
  • 13 ответов
  • 0 просмотров
13 ответов

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

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

Задан 08 May 2009, 15:04 от LB.
Page 4 of 42