Результаты поиска по запросу "generics"
В байт-коде есть дополнительная информация, которая используется для декодирования общей информации.
омпилировал класс Map, используя javap. Определение класса все еще показывает наличие универсальных типов K и V. Это должно было быть стерто концепцией стирания типов. Почему этого не происходит? ./javap -verbose java.util.Map Classfile ...
@ RenéVogt рад помочь
тим, у нас есть интерфейс как public interface IEnumerable<out T> { /*...*/ }этосо-вариант вT. Затем у нас есть другой интерфейс и класс, реализующий его: public interface ISomeInterface {} public class SomeClass : ISomeInterface {} Теперь ...
в качестве аргумента:
я есть список типов (System.Type), которые должны быть запрошены в базе данных. Для каждого из этих типов мне нужно вызвать следующий метод extension (который является частью LinqToNhibernate): Session.Linq<MyType>()Однако у меня нет MyType, но ...
Я не знаю мудрости дизайнеров C #. Поскольку ограничения могут быть разными, я думаю, что было принято решение сделать так, чтобы разработчик явно объявил ограничение вместо того, чтобы компилятор делал предположения.
но я попытался создать универсальный подкласс путем реализации универсального интерфейса. public interface IModule<T> where T : DataBean { ..... } public class Module<T> : IModule<T> where T : DataBean { .... }Кажется, я не могу полагаться ни ...
Код обновлен, поэтому он должен скомпилироваться. Теперь это имеет больше смысла?
я есть эти типы: 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); } } ...
также реализует этот протокол.
разница между этими двумя методами объявления универсального суперкласса с предложением where или без него? func foo<T: SomeClass>(object: T) -> Array<T> func foo<T>(object: T) -> Array<T> where T: SomeClass
преобразовать список объектов из одного типа в другой с помощью лямбда-выражения
У меня есть цикл foreach, читающий список объектов одного типа и создающий список объектов другого типа. Мне сказали, что лямбда-выражение может достичь того же результата. var origList = List<OrigType>(); // assume populated var targetList ...
языковая спецификация
вая следующий код ... type Indexable<TKey, TValue> = { [index: TKey]: TValue }Это приводит к следующей ошибке: Тип параметра подписи индекса должен быть «строка» или «число». Есть ли способ ограничитьTKey быть «строка» или «число»?
ничего не вызывает, это шаблон для генерации (встроенной) специфичной для типа реализации функции во время компиляции. Я предполагаю, что требуемый унифицированный синтаксис может быть реализован, но команда F # никогда не ожидала, что ограничения членов станут настолько популярными, предназначая их только для базовых библиотек, и, следовательно, синтаксис в этой версии полностью разрушен (скрещивание пальцев).
ипа type Cow() = class member this.Walk () = Console.WriteLine("The cow walks.") end Я могу написать метод, который обеспечивает ограничение члена для метода Walk, как let inline walk_the_creature creature = (^a : (member Walk : unit -> ...
Вместо синтаксиса array [] вы должны использовать get () или set (). Кроме этого, это эквивалентно.
объяснение для следующего: public class GenericsTest { //statement 1 public ArrayList<Integer>[] lists; public GenericsTest() { //statement 2 lists = new ArrayList<Integer>[4]; } } Компилятор принимает оператор 1. Оператор 2 помечен ...