Все вопросы: [type-safety]
20 вопросов
Переопределение метода «равно»: как определить тип параметра?
Я пытаюсь переопределить метод equals для параметризованного класса. @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof Tuple)) return false; Tuple<E> other = (Tuple<...
Java: Type safety - unchecked cast
Here is my code: Object[] data = GeneComparison.readData(files); MyGenome genome = (MyGenome) data[0]; LinkedList<Species> breeds = (LinkedList<Species>) data[1]; It gives this warning for the LinkedList: Type safety: Unchecked cast from Object to LinkedList<Species> Why ...
Emulating a value type structure class in PHP
Is there any way to emulate a structure class in PHP? ie a class which passes by value and not by reference, so it can still be type hinted... And if so, what different techniques could be used? What's the best technique? If this is possible you could obviously create a fully type safe layer fo...
How to make Databinding type safe and support refactoring?
When I wish to bind a control to a property of my object, I have to provide the name of the property as a string. This is not very good because: If the property is removed or renamed, then I don’t get a compiler warning. If a rename the property with a refactoring tool, then it is likely the d...
Что такое безопасность типов?
Я недавно сдавал экзамен по мозговой деятельности, получил высокую оценку, но было несколько вопросов, которые были для меня трудными. Может это потому, что английский не мой родной язык ... Один из вопросов: Что из перечисленного ниже описывает безопасность типов? Программная конструкция...
Перечисления Java в мобильном приложении MIDP 2
Я только что вернулся к разработке MIDP после четырех лет работы с .NET 2, Java 5 и 6. За это время мне очень понравилось использовать перечисления. Enum - это языковая функция, которая позволяет разработчику больше доверять некоторым частям своего кода, особенно для возможности избежать или ...
Почему компилятор C # выдает инструкцию callvirt для вызова метода GetType ()?
Мне любопытно узнать, почему это происходит. Прочтите приведенный ниже пример кода и соответствующий IL, который был отправлен в комментариях под каждым разделом: using System; class Program { static void Main() { Object o = new Object(); o.GetType(); // L_00...
Лучший способ создать разнотипный объект
Допустим, у меня есть объект данных, но этот объект может содержать один из нескольких типов данных. class Foo { int intFoo; double doubleFoo; string stringFoo; } Теперь я хочу создать аксессуар. Каким-то образом получить эти данные. Очевидно, я мог создать несколько средств д...
Список VB.NET (из X). Содержит поведение
У меня есть собственный класс, настроенный как ключ с двумя свойствами: X и Y У меня есть нечто похожее на это: Dim test As New List(of TestClass) Dim key as New TestData key._a = A key._b = B For Each a As TestClass In SomeCollection If Not test.Contains(key) Then 'Do Stuff End...
Совместимость веб-сервисов и интерфейсов
При добавлении ссылки на веб-службу (это все WCF) в Visual Studio создается некоторый сгенерированный код, в том числе переформулировка интерфейса на стороне клиента. Я понимаю, почему создается этот интерфейс: возможно, вы используете стороннюю службу и не имеете доступа к фактическому интер...
Безопасность типов: непроверенное приведение
В моем весеннем файле контекста приложения у меня есть что-то вроде: <util:map id="someMap" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.lang.String"> <entry key="some_key" value="some value" /> <entry key="some_key_2" value="some value" /&...
JAXB - XJC - влияние на сгенерированный класс typeafe enum и его члены
При компиляции следующего simpleType с помощью компиляции XJC (из пакета JAXB) ... <xs:simpleType name="test"> <xs:annotation> <xs:appinfo> <jaxb:typesafeEnumClass/> </xs:appinfo> </xs:annotation> <xs:restriction b...
Какие типы типов Enum в C ++ вы используете?
Общеизвестно, что встроенные перечисления в C ++ небезопасны. Мне было интересно, какие классы, реализующие типизированные перечисления, используются там ... Я сам использую следующий «велосипед», но он несколько многословен и ограничен: typesafeenum.h: struct TypesafeEnum { // Constructio...
Как предотвратить использование неправильного типа в PHP?
PHP, как мы все знаем, очень слабо типизирован. В языке не требуется указывать какой-либо тип для параметров функции или переменных класса. Это мощная функция. Однако иногда отладка скрипта может стать болезненным занятием. Например, передача одного типа объекта в метод, который ожидает друго...
Шаблоны typedefs - над чем вы работаете?
В C ++ 0x есть псевдонимы шаблонов (иногда называемые шаблонными typedefs). См. здесь . Текущая спецификация C ++ - нет. Что вам нравится в качестве временного решения? Объекты-контейнеры или макросы? Вы чувствуете, что оно того стоит?
Проверка общего типа
Есть ли способ принудительно / ограничить типы, передаваемые примитивам? (bool, int, string и т. д.) Теперь я знаю, что вы можете ограничить параметр универсального типа реализацией типа или интерфейса с помощью предложения where . Однако это не соответствует требованиям для примитивов (A...
Преобразование универсального типа из строки
У меня есть класс, который я хочу использовать для хранения «свойств» другого класса. У этих свойств просто есть имя и значение. В идеале я хотел бы иметь возможность добавлять типизированные свойства, чтобы возвращаемое "значение" всегда было того типа, который мне нужен. Тип всегда должен...
Почему в C # нельзя сохранить объект List <string> в переменной List <object></object></string>
Похоже, что объект List не может быть сохранен в переменной List в C # и даже не может быть явно приведен таким образом. List<string> sl = new List<string>(); List<object> ol; ol = sl; приводит к невозможности неявно преобразовать тип System.Collections.Generic.List<s...
В чем смысл предупреждения о безопасности типов в некоторых приведенных типах Java?
Что означает предупреждение Java ? Безопасность типов: приведение объекта к списку фактически проверяется на соответствие стертому списку типов Я получаю это предупреждение, когда пытаюсь привести объект к типу с общей информацией, например, в следующем коде: Object object = getMy...