Вопрос

Я управлял некоторым кодом через автоматический переводчик для 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] что они могут быть направлены на

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top