Как объявить «как угодно» в VB.NET или что эквивалентно?Объявление Visual Basic от 6.0 до VB.NET
ответ
VB.NET не поддерживает ключевое слово «Как есть». Вам нужно будет явно указать тип.
Ближайший вы можете получить:
Dim var as Object
Это не совсем так же, как VB6-х, как и любой (который хранит значения в Variant), но вы можете хранить переменные любого типа, как объект, хотя в штучной упаковке ,
VB.NET не поддерживает, как любое ключевое слово, VB.NET является строго типизированным языком, вы можете, однако (с .NET 3.5) использовать неявный ввод в VB
Dim Фреда = «Hello World» будет неявно введите fred в качестве строковой переменной. Если вы хотите просто сохранить значение, которое не знаете тип во время разработки, вы можете просто объявить свою переменную как объект (мать всех объектов). ПРИМЕЧАНИЕ. Обычно это красный флаг для рецензентов кода, поэтому убедитесь, что у вас есть веская причина :-)
Возможно, у вас возникли проблемы с преобразованием объявлений WinAPI. Иногда вы можете уйти, если просто объявите свою переменную как строку или целое, потому что это реальный тип возвращаемого значения.
Вы также можете попробовать сортировочной:
<MarshalAsAttribute(UnmanagedType.AsAny)> ByRef buff As Object
Как Любой должен иметь в виду заявлений на Windows API, так как она не может быть использована в объявлениях переменных. Вы можете использовать перегрузку: просто повторите декларации для каждого другого типа данных, который вы хотите передать. VB.NET выбирает тот, который соответствует аргументу, который вы передаете в своем вызове.
Это лучше, чем As Any в VB6, потому что компилятор все еще может выполнять проверку типов.
Если у вас включен параметр Strict, вам необходимо указать тип при объявлении переменной. – Kogitsune 2012-05-30 16:03:49