Поделиться через


Практическое руководство. Различение двух элементов с одинаковыми именами

Обновлен: Ноябрь 2007

Если приложение имеет доступ к нескольким элементам с одинаковым именем, можно уточнить имя для включения компилятора Visual Basic, чтобы ссылка соответствовала определенному элементу, который требуется использовать. Дополнительные сведения см. в разделе Практическое руководство. Уточнение имени объявляемого элемента.

Пример

В следующем примере показаны две переменные с одинаковым именем в различных содержащих их элементах с одинаковым именем. Переменные объявляются как Shared, исключительно чтобы сократить код в примере.

Namespace space1
    Public Class innerClass
        ' String showMe is declared Shared to facilitate reference.
        Public Shared showMe As String = "Shared string 1"
    End Class
End Namespace
Namespace space2
    Public Class innerClass
        ' String showMe is declared Shared to facilitate reference.
        Public Shared showMe As String = "Shared string 2"
    End Class
End Namespace
Public Module callShowMe
    Public Sub showStrings()
        MsgBox("From space1: " & space1.innerClass.showMe _
            & vbCrLf & "From space2: " & space2.innerClass.showMe)
    End Sub
End Module

В предыдущем примере объявляются две переменные, каждой из которых присвоено имя showMe, причем каждая находится внутри класса с именем innerClass. Поскольку оба содержащих элемента имеют одинаковые имена, вызывающий код должен не только уточнять переменную showMe своим контейнером innerClass, но также должен уточнять innerClass своим контейнером space1 или space2. Компилятор Visual Basic может разрешить ссылку, так как каждая уточняемая строка предоставляет однозначный путь к уникальным объявлениям.

Отказоустойчивость

Чем меньше переменных с одинаковым именем было объявлено, тем меньше возможностей для создания случайной ссылки на одну переменную вместо другой. Кроме того, можно сократить проблемы, связанные с соответствием ссылки.

Безопасность

Чем меньше переменных с одинаковым именем было объявлено, тем меньше вероятность того, что вредоносный код ненадлежащим образом использует одну из них.

См. также

Задачи

Практическое руководство. Уточнение имени объявляемого элемента

Практическое руководство. Сокрытие переменной с тем же именем, что и ваша переменная

Практическое руководство. Сокрытие наследуемой переменной

Практическое руководство. Доступ к переменной, скрытой производным классом

Основные понятия

Характеристики объявленных элементов

Разрешение ссылки, когда несколько переменных имеют одинаковые имена

Операторы объявления в Visual Basic

Другие ресурсы

Ссылки на объявленные элементы