CodeClass2.AddDelegate-Methode (String, Object, Object, vsCMAccess)
Erstellt einen neuen Delegaten in der angegebenen Klasse.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
Function AddDelegate ( _
Name As String, _
Type As Object, _
Position As Object, _
Access As vsCMAccess _
) As CodeDelegate
CodeDelegate AddDelegate(
string Name,
Object Type,
Object Position,
vsCMAccess Access
)
CodeDelegate^ AddDelegate(
String^ Name,
Object^ Type,
Object^ Position,
vsCMAccess Access
)
abstract AddDelegate :
Name:string *
Type:Object *
Position:Object *
Access:vsCMAccess -> CodeDelegate
function AddDelegate(
Name : String,
Type : Object,
Position : Object,
Access : vsCMAccess
) : CodeDelegate
Parameter
- Name
Typ: System.String
Erforderlich.Der Name des hinzuzufügenden Delegaten.
- Type
Typ: System.Object
Erforderlich.Eine vsCMTypeRef-Konstante, die den von der Funktion zurückgegebenen Datentyp angibt.Dies kann ein CodeTypeRef-Objekt, eine vsCMTypeRef-Konstante oder ein vollqualifizierter Typname sein.
- Position
Typ: System.Object
Optional.Standardwert = 0.Das Codeelement, hinter dem das neue Element hinzugefügt werden soll.
Wenn der Wert ein Long-Datentyp ist, gibt Position das Element an, nach dem das neue Element hinzugefügt werden soll.
Da die Zählung bei Auflistungen mit 1 beginnt, wird mit dem Wert 0 angegeben, dass das neue Element am Anfang der Auflistung eingefügt werden soll.Bei dem Wert -1 wird das Element am Ende eingefügt.
- Access
Typ: EnvDTE.vsCMAccess
Optional.Eine vsCMAccess-Konstante, die den Zugriffstyp angibt.
Rückgabewert
Typ: EnvDTE.CodeDelegate
Ein CodeDelegate-Objekt.
Hinweise
Im systemeigenen Visual C++ ist ein doppelter Doppelpunkt (::) als Trennzeichen für vollqualifizierte Typnamen erforderlich.Alle anderen Sprachen verwenden das durch Punkte getrennte Format.
Die Gültigkeit der Argumente wird durch die Sprache des Codemodells bestimmt.
Hinweis |
---|
Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben.Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic). |
Beispiele
[C#]
public void CodeClass2AddDelegateExample(DTE2 dte2)
{
// Before running this example, open a code document from a project
// and place the insertion point inside a class definition.
try
{
// Retrieve the CodeClass at the insertion point.
TextSelection sel =
TextSelection)dte2.ActiveDocument.Selection;
CodeClass cls =
(CodeClass)sel.ActivePoint.get_CodeElement(
vsCMElement.vsCMElementClass);
object pos = -1; // Place class at end of members collection
// Add delegate.
CodeDelegate cdel = cls.AddDelegate("TestDelegate",
vsCMTypeRef.vsCMTypeRefBool,
pos, vsCMAccess.vsCMAccessPublic);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell