CodeDelegate2.Namespace-Eigenschaft
Ruft ein Objekt ab, durch das der übergeordnete Namespace des Delegaten definiert wird.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
ReadOnly Property Namespace As CodeNamespace
CodeNamespace Namespace { get; }
property CodeNamespace^ Namespace {
CodeNamespace^ get ();
}
abstract Namespace : CodeNamespace
function get Namespace () : CodeNamespace
Eigenschaftswert
Typ: EnvDTE.CodeNamespace
Ein CodeNamespace-Objekt.
Hinweise
Namespace gibt Nothing oder nullNULL-Verweis (Nothing in Visual Basic) für Typen zurück, die auf der obersten Ebene in einer Datei oder für einen globalen bzw. einen Standardnamespace deklariert wurden.
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
Laden Sie vor dem Ausführen des Beispiels ein Projekt mit einer Klasse, und fügen Sie mit dem Beispielcode die folgende Zeile ein.Klicken Sie nach dem Hinzufügen der Zeile und des Beispielcodes auf die Delegate-Zeile, um die Einfügemarke an dieser Stelle zu positionieren, und führen Sie dann das Beispiel aus.
[VisualBasic]
Delegate Sub MySubDelegate(ByVal x As Integer)
[C#]
public delegate void MySubDelegate(int x);
[VisualBasic]
Public Sub CodeDelegateExample(ByVal dte As 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.
Dim sel As TextSelection = _
CType(DTE.ActiveDocument.Selection, TextSelection)
Dim del As CodeDelegate2 = _
CType(sel.ActivePoint.CodeElement( _
vsCMElement.vsCMElementDelegate), CodeDelegate2)
Dim elem As CodeElement2
Dim sb As New System.Text.StringBuilder
' Display the baseclass name of the delegate.
sb.AppendLine("Delegate base class name: " & _
del.BaseClass.Name)
sb.AppendLine("Delegate's access: " & del.Access.ToString)
sb.AppendLine("Children: " & del.Children.Count & " _
Name: " & del.Children.Item(1).Name)
sb.AppendLine("Collection: " & del.Collection.Count)
sb.AppendLine("Delegates:")
For Each elem In del.Collection
sb.AppendLine(" - " & elem.Name)
Next
sb.AppendLine("Comment: " & del.Comment)
sb.AppendLine("Doc Comment: " & del.DocComment)
sb.AppendLine("DTE Parent: " & del.DTE.Name)
sb.AppendLine("Endpoint location: " & _
del.EndPoint.AbsoluteCharOffset)
sb.AppendLine("Infolocation: " & del.InfoLocation.ToString)
sb.AppendLine("Can provide CodeType object? " & _
del.IsCodeType.ToString)
sb.AppendLine("Is Delegate derived? " & _
del.IsDerivedFrom("EnvDTE80"))
sb.AppendLine("Is Delegate a generic? " & del.IsGeneric)
sb.AppendLine("Kind: " & del.Kind.ToString)
sb.AppendLine("Authoring language: " & _
del.Language.ToString)
sb.AppendLine("Name: " & del.Name)
sb.AppendLine("Namespace: " + del.Namespace.Name);
sb.AppendLine("Parameters: " & del.Parameters.Item(1).Name)
sb.AppendLine("Project containing the delegate: " & _
del.ProjectItem.Name)
sb.AppendLine("Prototype for delegate: " & del.Prototype)
sb.AppendLine("Delegate start point offset: " & _
del.StartPoint.LineCharOffset)
sb.AppendLine("Type: " & del.Type.TypeKind.ToString)
MsgBox(sb.ToString)
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
[C#]
public void CodeDelegateExample(DTE2 DTE)
{
try
{
// Retrieve the CodeClass at the insertion point.
TextSelection sel = (TextSelection)
DTE.ActiveDocument.Selection;
CodeDelegate2 del = (CodeDelegate2)
sel.ActivePoint.get_CodeElement
(vsCMElement.vsCMElementDelegate);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
// Display the baseclass name of the delegate.
sb.AppendLine("Delegate base class name: " +
del.BaseClass.Name);
sb.AppendLine("Delegate's access: " + del.Access);
sb.AppendLine("Children: "+del.Children.Count+" Name:
"+del.Children.Item(1).Name);
sb.AppendLine("Collection: "+del.Collection.Count);
sb.AppendLine("Delegates:");
foreach (CodeElement2 elem in del.Collection )
{
sb.AppendLine(" - "+elem.Name);
}
sb.AppendLine("Comment: "+del.Comment);
sb.AppendLine("Attributes:");
foreach (CodeElement2 elem in del.Attributes)
{
sb.AppendLine(" - " + elem.Name);
}
sb.AppendLine("Bases:");
foreach (CodeElement2 elem in del.Bases)
{
sb.AppendLine(" - " + elem.Name);
}
sb.AppendLine("Doc Comment: " + del.DocComment);
sb.AppendLine("DTE Parent: "+del.DTE.Name);
sb.AppendLine("Endpoint location:
"+del.EndPoint.AbsoluteCharOffset);
sb.AppendLine("Infolocation: "+del.InfoLocation);
sb.AppendLine("Can provide CodeType object? "+del.IsCodeType);
sb.AppendLine("Is Delegate derived?
"+del.get_IsDerivedFrom("EnvDTE80"));
sb.AppendLine("Is Delegate a generic? "+del.IsGeneric);
sb.AppendLine("Kind: "+del.Kind);
sb.AppendLine("Authoring language: "+del.Language);
sb.AppendLine("Name: "+del.Name);
sb.AppendLine("Parameters: "+del.Parameters.Item(1).Name);
sb.AppendLine("Namespace: " + del.Namespace.Name);
sb.AppendLine("Project containing the delegate:
"+del.ProjectItem.Name);
sb.AppendLine("Delegate start point offset:
"+del.StartPoint.LineCharOffset);
sb.AppendLine("Type: "+del.Type.TypeKind);
MessageBox.Show(sb.ToString());
}
catch(System.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