Вы правы, здесь, похоже, нет никакой документации.
Рассмотрите этот код:
Module Module1
Sub Main()
Console.WriteLine("Foo() is {0}", Foo())
Console.ReadKey()
End Sub
Function Foo() As Integer
End Function
End Module
Со свойствами проекта по умолчанию, которые имеют функцию, возвращающую встроеннуютип значения без возвращаемого значения "установлен на Предупреждение, это компилируется с таким предупреждением:
предупреждение BC42353: Функция 'Foo' не возвращает значение во всех путях кода.Вам не хватает оператора «Return»?
и выводов
Foo равно 0
Установив свойство этого проекта в Error, мыможет сделать это предупреждение остановить сборку с ошибкой.
«Внутренняя» часть вступает в игру, если мы изменим код на это:
Module Module1
Sub Main()
Console.WriteLine("Foo() is {0}", Foo())
Console.ReadKey()
End Sub
Function Foo() As Bar
End Function
End Module
Structure Bar
Public a As Integer
End Structure
Теперь, даже если Bar
являетсятип значения, код компилируется без предупреждения независимо от того, какое свойство проекта установлено.Таким образом, мы можем заключить, что Integer
является «внутренним» типом значения, но наш Bar
не является.
То, что ничего из этого не говорит нам, - это то, что считается «внутренним» типом значения.Погуглив, я нашел эту страницу , которая говорит мне, что, если я запусту Обозреватель объектов, щелкните правой кнопкой мыши на левой панели и сообщу его Группировать по типу объекта, я вижу это:

, который я считаю лучшим из того, что мы собираемся получить.