Привет всем.
Скачал RFD, открываю его версию для 2 фреймворка и при компиляции получаю ошибку на строке
#if VER2
value is INullableValue && ((INullableValue)value).HasValue == false ||
#endif
с текстом Error 1 The type or namespace name 'INullableValue' could not be found (are you missing a using directive or an assembly reference?) 184 14 Rsdn.Framework.Data.2
Здравствуйте, <Аноним>, Вы писали:
А>#if VER2 А>value is INullableValue && ((INullableValue)value).HasValue == false || А>#endif
А>с текстом Error 1 The type or namespace name 'INullableValue' could not be found (are you missing a using directive or an assembly reference?) 184 14 Rsdn.Framework.Data.2 А>
Это какой файл?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Пытаюсь скомпилить RFD
От:
Аноним
Дата:
05.11.05 23:24
Оценка:
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, <Аноним>, Вы писали:
А>>#if VER2 А>>value is INullableValue && ((INullableValue)value).HasValue == false || А>>#endif
А>>с текстом Error 1 The type or namespace name 'INullableValue' could not be found (are you missing a using directive or an assembly reference?) 184 14 Rsdn.Framework.Data.2 А>>
IT>Это какой файл?
Здравствуйте, <Аноним>, Вы писали:
IT>>А студия какая?
А>2005-я ессно
Я думал может какая бета. В общем, у меня таже фигня. Разбираюсь. Похоже они в релизе этот интерфейс выкинули. Пока, если не нужны налабл типы, можно строчку просто закоментировать.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Пытаюсь скомпилить RFD
От:
Аноним
Дата:
05.11.05 23:49
Оценка:
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, <Аноним>, Вы писали:
IT>>>А студия какая?
А>>2005-я ессно
IT>Я думал может какая бета. В общем, у меня таже фигня. Разбираюсь. Похоже они в релизе этот интерфейс выкинули. Пока, если не нужны налабл типы, можно строчку просто закоментировать.
спасибо, если не трудно сообщите пожалуйста в этом топике если проблема будет Вами решена.
Спасибо.
Здравствуйте, IT, Вы писали:
IT>Я думал может какая бета. В общем, у меня таже фигня. Разбираюсь. Похоже они в релизе этот интерфейс выкинули. Пока, если не нужны налабл типы, можно строчку просто закоментировать.
INullableValue был Workaround'ом вокруг вот этого в Beta1:
int? x = null;
object y = x;
if (y == null) { // oops, it is not null?
...
}
После соответсвующих изменений в runtime вместо INullableValue.HasValue можно (по крайней мере нам так обещают) смело просто проверять значение на null, что и делается в первой строчке условия в Map.cs.
return
value == null || // вот это теперь работает и для Nullable типов.#if VER2
//value is INullableValue && ((INullableValue)value).HasValue == false ||#endif
Здравствуйте, Alexey Axyonov, Вы писали:
AA>После соответсвующих изменений в runtime вместо INullableValue.HasValue можно (по крайней мере нам так обещают) смело просто проверять значение на null, что и делается в первой строчке условия в Map.cs.
Да уж. Похоже они конвертят это дело в null при боксинге. Круто. Забираю свои слова обратно
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Alexey Axyonov, Вы писали:
AA>После соответсвующих изменений в runtime вместо INullableValue.HasValue можно (по крайней мере нам так обещают) смело просто проверять значение на null, что и делается в первой строчке условия в Map.cs.
Но всё же есть более менее честный способ определить является ли тип Nullable.
public static Type GetUnderlyingType(Type nullableType);
Return Value
The type argument of the nullableType parameter, if the nullableType parameter is a closed generic nullable type; otherwise, a null reference (Nothing in Visual Basic).
Если тип не производный от Nullable<>, то GetUnderlyingType возвращает null.
Если нам не помогут, то мы тоже никого не пощадим.