Это было решено путем изменения $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' );
И, конечно, очистка кеша.
Это кажется, что у Вас есть данный тип, для которого Вы хотите или тот тип или его базовый тип, если это Nullable<T>
. Лучший способ сделать это было бы чем-то вроде этого:
Nullable.GetUnderlyingType(yourObject.Type) ?? yourObject.Type;
С тех пор Nullabe.GetUnderlyingType
возвраты null
если данный Type
не Nullable<T>
можно ли использовать пустой оператор объединения (??) принимать значение по умолчанию значение к исходному типу.
Если объект не будет несуществующим, то GetType возвратит Int64.
Type t = Nullable.GetUnderlyingType(nullableType);
См. MSDN.
Возможно, Вы устанавливаете свое свойство типа на "Систему. Int64?" где-нибудь? Иначе я не могу воспроизвести Ваше поведение.