AddMember Method
Collapse the table of content
Expand the table of content

CodeEnum.AddMember Method (String, Object, Object)

 

Creates a new member code construct and inserts the code in the correct location.

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

CodeVariable AddMember(
	string Name,
	object Value,
	object Position
)

Parameters

Name
Type: System.String

Required. The name of the new member.

Value
Type: System.Object

Optional. The InitExpression of the returned CodeVariable object. It can be passed in either as a string or as an expression object.

Position
Type: System.Object

Optional. Default = 0. The code element after which to add the new element. If the value is a CodeElement, then the new element is added immediately after it.

If the value is a Long data type, then AddMember indicates the element after which to add the new element.

Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end.

Return Value

Type: EnvDTE.CodeVariable

A CodeVariable object.

AddMember adds a member to the enumeration and returns a CodeVariable object with IsConstant set to true.

When setting Value to a string, AddMember inserts any required syntax, such as equal signs or semicolons, if the variable does not already have an initialization expression. Depending on the languages and syntactic or semantic checks it performs on the passed-in string, setting this argument may fail. Languages are not required to check the string, and because the string is necessarily language-dependent, setting this argument could result in undefined behavior if the string has any ill-formed content.

When setting Value to a CodeElement, whether the CodeElement must be newly created depends on the language implementation of the code model. Some languages may implement copying semantics if you pass in a code element that is already in a source file.

The correctness of the arguments is determined by the language behind the code model.

System_CAPS_noteNote

The values of code model elements, such as classes, structures, functions, attributes, delegates, cannot be relied upon to remain the same at all times. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic).

public void AddMemberExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside an enumeration.
    try
    {
        // Retrieve the CodeEnum at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeEnum enm = 
            (CodeEnum)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementEnum);

        // Add a member to the enumeration.
        enm.AddMember("TestMember", null, -1);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
Return to top
Show:
© 2016 Microsoft