У меня есть список целых чисел, которые были десериализованы WCF из json. Этот список десериализуется как список (из int32). Я не имею никакого контроля над тем, как он десериализуется.
Мне нужно иметь возможность увидеть, содержит ли этот список значение, которое оказывается Int64. Это очевидно не работает. Вот пример функции:
Private Shared Function IsIn(aPropertyValue As Int64, aList As IList) As Boolean
Return aList.Contains(aPropertyValue)
End Function
Причина, по которой я передаю IList, заключается в том, что я не хочу создавать эту функцию 12 раз, по одному разу для каждого числового типа, байтов через uint64. Если бы я создавал его 12 раз, то есть по 12 х 12 раз для каждого возможного варианта, я бы мог использовать List (of T) .Exists ().
В документации к Contains () говорится, что для сравнения используется IEquatable (Of T) .Equals. Я должен думать, что Int32 и Int64 с одинаковым значением можно сравнить и найти равными.
Я, должно быть, упускаю что-то очевидное.