GetType Системы возврата int64. Nullable

Это было решено путем изменения $matches[1] на $1:

// Add rewrite for my_id
function custom_rewrite_basic() 
{
    add_rewrite_rule('^foo/bar/([0-9]+)/?', 'foo/bar/?my_id=$1', 'top');
}

add_action( 'init', 'custom_rewrite_basic' );

И, конечно, очистка кеша.

5
задан JoelHess 19 February 2009 в 14:48
поделиться

4 ответа

Это кажется, что у Вас есть данный тип, для которого Вы хотите или тот тип или его базовый тип, если это Nullable<T>. Лучший способ сделать это было бы чем-то вроде этого:

Nullable.GetUnderlyingType(yourObject.Type) ?? yourObject.Type;

С тех пор Nullabe.GetUnderlyingType возвраты null если данный Type не Nullable<T> можно ли использовать пустой оператор объединения (??) принимать значение по умолчанию значение к исходному типу.

6
ответ дан 14 December 2019 в 04:48
поделиться

Если объект не будет несуществующим, то GetType возвратит Int64.

0
ответ дан 14 December 2019 в 04:48
поделиться
Type t = Nullable.GetUnderlyingType(nullableType);

См. MSDN.

1
ответ дан 14 December 2019 в 04:48
поделиться

Возможно, Вы устанавливаете свое свойство типа на "Систему. Int64?" где-нибудь? Иначе я не могу воспроизвести Ваше поведение.

0
ответ дан 14 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: