CodeVariable2.Access Property

Definition

Sets or gets the access attributes of this item.

public:
 property EnvDTE::vsCMAccess Access { EnvDTE::vsCMAccess get(); void set(EnvDTE::vsCMAccess value); };
public:
 property EnvDTE::vsCMAccess Access { EnvDTE::vsCMAccess get(); void set(EnvDTE::vsCMAccess value); };
[System.Runtime.InteropServices.DispId(36)]
public EnvDTE.vsCMAccess Access { [System.Runtime.InteropServices.DispId(36)] get; [System.Runtime.InteropServices.DispId(36)] set; }
[<System.Runtime.InteropServices.DispId(36)>]
[<get: System.Runtime.InteropServices.DispId(36)>]
[<set: System.Runtime.InteropServices.DispId(36)>]
member this.Access : EnvDTE.vsCMAccess with get, set
Public Property Access As vsCMAccess

Property Value

A vsCMAccess value.

Implements

Attributes

Examples

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);  
    }  
}  

Remarks

Access returns the actual access and how other code may access this code element.

Note

This property is read-only for code elements from Visual Basic source code.

Also, the values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same.

Applies to