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


CodeVariable.Access - свойство

Определяет модификатор доступа данного элемента.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
Property Access As vsCMAccess
vsCMAccess Access { get; set; }
property vsCMAccess Access {
    vsCMAccess get ();
    void set (vsCMAccess value);
}
abstract Access : vsCMAccess with get, set
function get Access () : vsCMAccess
function set Access (value : vsCMAccess)

Значение свойства

Тип: EnvDTE.vsCMAccess
Значение vsCMAccess.

Заметки

Access возвращает данные по фактическому доступу и способ доступа к этому элементу кода для других элементов кода.

ПримечаниеПримечание

Для элементов исходного кода Visual Basic это свойство доступно только для чтения.

Кроме того, значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и т.п., после внесения некоторых изменений могут стать недетерминированными, иными словами, нельзя рассчитывать, что их значения не будут изменяться.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" в разделе Практическое руководство. Поиск кода при помощи модели кода (Visual Basic).

Примеры

Sub AccessExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a variable definition.
    Try
        ' Retrieve the CodeVariable at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim var As CodeVariable = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementVariable), CodeVariable)

        ' Display the CodeVariable's accessibility.
        Dim access As String
        Dim varAccess As vsCMAccess = var.Access
        Dim val As vsCMAccess
        For Each val In [Enum].GetValues(varAccess.GetType())
            If (val And varAccess) <> 0 Then
                access &= val.ToString() & vbCrLf
            End If
        Next

        MsgBox(var.Name & " has the following accessibility:" & _
            vbCrLf & vbCrLf & access)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AccessExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a variable definition.
    try
    {
        // Retrieve the CodeVariable at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeVariable var = 
            (CodeVariable)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementVariable);

        // Display the CodeVariable's accessibility.
        string access = "";
        vsCMAccess varAccess = var.Access;

        foreach (vsCMAccess val in Enum.GetValues(varAccess.GetType()))
        {
            if ((val & varAccess) != 0)
                access += val.ToString() + "\r\n";
        }

        MessageBox.Show(var.Name + 
            " has the following accessibility:\r\n\r\n" + access);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Безопасность платформы .NET Framework

См. также

Ссылки

CodeVariable Интерфейс

EnvDTE - пространство имен

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

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации

Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)

Практическое руководство. Поиск кода при помощи модели кода (Visual C#)