Результаты поиска по запросу "generics"

2 ответа

В байт-коде есть дополнительная информация, которая используется для декодирования общей информации.

омпилировал класс Map, используя javap. Определение класса все еще показывает наличие универсальных типов K и V. Это должно было быть стерто концепцией стирания типов. Почему этого не происходит? ./javap -verbose java.util.Map Classfile ...

1 ответ

@ RenéVogt рад помочь

тим, у нас есть интерфейс как public interface IEnumerable<out T> { /*...*/ }этосо-вариант вT. Затем у нас есть другой интерфейс и класс, реализующий его: public interface ISomeInterface {} public class SomeClass : ISomeInterface {} Теперь ...

2 ответа

 в качестве аргумента:

я есть список типов (System.Type), которые должны быть запрошены в базе данных. Для каждого из этих типов мне нужно вызвать следующий метод extension (который является частью LinqToNhibernate): Session.Linq<MyType>()Однако у меня нет MyType, но ...

ТОП публикаций

3 ответа

Я не знаю мудрости дизайнеров C #. Поскольку ограничения могут быть разными, я думаю, что было принято решение сделать так, чтобы разработчик явно объявил ограничение вместо того, чтобы компилятор делал предположения.

но я попытался создать универсальный подкласс путем реализации универсального интерфейса. public interface IModule<T> where T : DataBean { ..... } public class Module<T> : IModule<T> where T : DataBean { .... }Кажется, я не могу полагаться ни ...

4 ответа

Код обновлен, поэтому он должен скомпилироваться. Теперь это имеет больше смысла?

я есть эти типы: public class GenericDao<T> { public T Save(T t) { return t; } } public abstract class DomainObject { // Some properties protected abstract dynamic Dao { get; } public virtual void Save() { var dao = Dao; dao.Save(this); } } ...

1 ответ

 также реализует этот протокол.

разница между этими двумя методами объявления универсального суперкласса с предложением where или без него? func foo<T: SomeClass>(object: T) -> Array<T> func foo<T>(object: T) -> Array<T> where T: SomeClass

11 ответов

преобразовать список объектов из одного типа в другой с помощью лямбда-выражения

У меня есть цикл foreach, читающий список объектов одного типа и создающий список объектов другого типа. Мне сказали, что лямбда-выражение может достичь того же результата. var origList = List<OrigType>(); // assume populated var targetList ...

2 ответа

языковая спецификация

вая следующий код ... type Indexable<TKey, TValue> = { [index: TKey]: TValue }Это приводит к следующей ошибке: Тип параметра подписи индекса должен быть «строка» или «число». Есть ли способ ограничитьTKey быть «строка» или «число»?

1 ответ

 ничего не вызывает, это шаблон для генерации (встроенной) специфичной для типа реализации функции во время компиляции. Я предполагаю, что требуемый унифицированный синтаксис может быть реализован, но команда F # никогда не ожидала, что ограничения членов станут настолько популярными, предназначая их только для базовых библиотек, и, следовательно, синтаксис в этой версии полностью разрушен (скрещивание пальцев).

ипа type Cow() = class member this.Walk () = Console.WriteLine("The cow walks.") end Я могу написать метод, который обеспечивает ограничение члена для метода Walk, как let inline walk_the_creature creature = (^a : (member Walk : unit -> ...

4 ответа

Вместо синтаксиса array [] вы должны использовать get () или set (). Кроме этого, это эквивалентно.

объяснение для следующего: public class GenericsTest { //statement 1 public ArrayList<Integer>[] lists; public GenericsTest() { //statement 2 lists = new ArrayList<Integer>[4]; } } Компилятор принимает оператор 1. Оператор 2 помечен ...