2008-09-16 3 views

ответ

0

VB.NET не поддерживает ключевое слово «Как есть». Вам нужно будет явно указать тип.

3

Ближайший вы можете получить:

Dim var as Object

Это не совсем так же, как VB6-х, как и любой (который хранит значения в Variant), но вы можете хранить переменные любого типа, как объект, хотя в штучной упаковке ,

3

VB.NET не поддерживает, как любое ключевое слово, VB.NET является строго типизированным языком, вы можете, однако (с .NET 3.5) использовать неявный ввод в VB

Dim Фреда = «Hello World» будет неявно введите fred в качестве строковой переменной. Если вы хотите просто сохранить значение, которое не знаете тип во время разработки, вы можете просто объявить свою переменную как объект (мать всех объектов). ПРИМЕЧАНИЕ. Обычно это красный флаг для рецензентов кода, поэтому убедитесь, что у вас есть веская причина :-)

+0

Если у вас включен параметр Strict, вам необходимо указать тип при объявлении переменной. – Kogitsune 2012-05-30 16:03:49

1

Возможно, у вас возникли проблемы с преобразованием объявлений WinAPI. Иногда вы можете уйти, если просто объявите свою переменную как строку или целое, потому что это реальный тип возвращаемого значения.

Вы также можете попробовать сортировочной:

 
<MarshalAsAttribute(UnmanagedType.AsAny)> ByRef buff As Object 
3

Как Любой должен иметь в виду заявлений на Windows API, так как она не может быть использована в объявлениях переменных. Вы можете использовать перегрузку: просто повторите декларации для каждого другого типа данных, который вы хотите передать. VB.NET выбирает тот, который соответствует аргументу, который вы передаете в своем вызове.

Это лучше, чем As Any в VB6, потому что компилятор все еще может выполнять проверку типов.

 Смежные вопросы

  • Нет связанных вопросов^_^