CodeEnum.AddMember(String, Object, Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates a new member code construct and inserts the code in the correct location.
EnvDTE::CodeVariable AddMember(std::wstring const & Name, winrt::Windows::Foundation::IInspectable const & Value, winrt::Windows::Foundation::IInspectable const & Position);
[System.Runtime.InteropServices.DispId(61)]
public EnvDTE.CodeVariable AddMember (string Name, object Value, object Position);
[<System.Runtime.InteropServices.DispId(61)>]
abstract member AddMember : string * obj * obj -> EnvDTE.CodeVariable
Public Function AddMember (Name As String, Optional Value As Object, Optional Position As Object) As CodeVariable
Parameters
- Name
- String
Required. The name of the new member.
- Value
- Object
Optional. The InitExpression of the returned CodeVariable object. It can be passed in either as a string or as an expression object.
- Position
- 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(String, Object, Object) 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.
Returns
A CodeVariable object.
- Attributes
Examples
Sub AddMemberExample(ByVal dte As DTE2)
' 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.
Dim sel As TextSelection = _
CType(dte.ActiveDocument.Selection, TextSelection)
Dim enm As CodeEnum = _
CType(sel.ActivePoint.CodeElement( _
vsCMElement.vsCMElementEnum), CodeEnum)
' Add a member to the enumeration.
enm.AddMember("TestMember")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
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);
}
}
Remarks
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.
Note
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).