В чем разница между логией и [логией]?
-
24-09-2019 - |
Вопрос
Я управлял некоторым кодом через автоматический переводчик для C # в VB, и он перевел такой код, как это:
Public Property Title As [String]
Как это отличается от
Public Property Title As String
И почему существуют оба?
Решение
String
это ключевое слово. Если вы хотите использовать ключевое слово в качестве идентификатора, вам придется приложить его в скобки. [String]
это идентификатор. String
ключевое слово всегда относится к System.String
класс пока [String]
Можно обратиться к вашему собственному классу String
В текущем пространстве имен. Предполагая, что у вас есть Imports System
, оба относятся к тому же вещу, но они могу будь другим:
Module Test
Class [String]
End Class
Sub Main()
Dim s As String = "Hello World" // works
Dim s2 As [String] = "Hello World" // doesn't work
End Sub
End Module
Основная причина существования [ ]
Для обработки ключевых слов в качестве идентификаторов является совместимость с библиотеками с других языков, которые могут использовать ключевые слова VB в качестве типа или имени пользователей.
Другие советы
] позволяет использовать ключевые слова VBS в качестве идентификаторов, как @ в C #. Здесь бесполезно.
В этом примере они ничего не делают. (*) Вы можете использовать кронштейны для использования зарезервированных слов в качестве идентификаторов. Например: Dim [String] as String
Редактировать: (*) Если они не определит свой собственный класс [String]
что они могут быть направлены на