Export (0) Print
Expand All

CodeVariable.Access Property

Defines the access modifier of this item.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

vsCMAccess Access { get; set; }

Property Value

Type: EnvDTE.vsCMAccess
A vsCMAccess value.

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

NoteNote

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. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic).

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

Show:
© 2014 Microsoft