(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

CallerMemberNameAttribute-Klasse

.NET Framework 4.5

Ermöglicht es Ihnen, den Methoden- oder Eigenschaftsnamen des Methoden-Aufrufers zu erhalten.

System.Object
  System.Attribute
    System.Runtime.CompilerServices.CallerMemberNameAttribute

Namespace:  System.Runtime.CompilerServices
Assembly:  mscorlib (in mscorlib.dll)
[AttributeUsageAttribute(AttributeTargets.Parameter, Inherited = false)]
public sealed class CallerMemberNameAttribute : Attribute

Der CallerMemberNameAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsCallerMemberNameAttributeInitialisiert eine neue Instanz der CallerMemberNameAttribute-Klasse.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftTypeIdBei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsEqualsInfrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeBeim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche MethodeMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang
  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

Sie wenden das CallerMemberName-Attribut auf ein optionaler Parameter, der einen Standardwert verfügt. Sie müssen ein expliziter Standardwert für den optionalen Parameter angeben. Sie können dieses Attribut nicht auf Parameter angewendet werden, die nicht als optional angegeben werden.

Weitere Informationen finden Sie unter Aufruferinformationen (C# und Visual Basic).

Sie können das CallerMemberName-Attribut verwenden, um den Membernamen String als Argument an die aufgerufene Methode festzulegen zu vermeiden. Wenn Sie dieses Verfahren verwenden, vermeiden Sie das Problem, dass Umgestaltung mit Umbenennung nicht die String-Werte ändert. Dies ist besonders nützlich für die folgenden Aufgaben:

  • Verwenden der Ablaufverfolgung und der Diagnoseprogramme.

  • Die INotifyPropertyChanged-Schnittstelle implementieren, wenn Daten gebunden sind. Diese Schnittstelle ermöglicht es der Eigenschaft eines Objekts, um ein gebundenes Steuerelement zu benachrichtigen, dass die Eigenschaft geändert wurde, sodass das Steuerelement die aktualisierten Informationen anzeigen kann. Ohne das CallerMemberName-Attribut müssen Sie den Eigenschaftennamen als Literal angeben.

Das folgende Diagramm zeigt die Membernamen an, die zurückgegeben werden, wenn Sie das CallerMemberName-Attribut verwenden.

Rufen Sie tritt auf Elemente

Ergebnis der Membername

Methode, Eigenschaft oder ein Ereignis

Der Name der Methode, Eigenschaft oder das Ereignis durch Aufruf stammt.

Konstruktor

Die Zeichenfolge ".ctor"

Statischer Konstruktor

Die Zeichenfolge ".cctor"

Destruktor

Die Zeichenfolge "Finalize"

Benutzerdefinierte Operatoren oder Konvertierungen

Der generierte Name für den Member, z. B. "op_Addition".

Attributkonstruktor

Der Name des Members, auf den das Attribut angewendet wird. Wenn das Attribut ein Element innerhalb eines Members (z. B. einen Parameter, ein Rückgabewert oder ein generischer Typparameter) ist, ist das Ergebnis der Name des Members, das diesem Element zugeordnet ist.

Kein enthaltener Member (z. B. auf Assemblyebene oder Attribute angewendet auf Typen)

Der Standardwert des optionalen Parameters.

Im folgenden Beispiel wird die Verwendung des CallerMemberName-Attributs veranschaulicht. Bei jedem Aufruf der TraceMessage-Methode, werden die Informationen zum Aufrufer als Argument an den optionalen Parameter ersetzt.


// using System.Runtime.CompilerServices
// using System.Diagnostics;

public void DoProcessing()
{
    TraceMessage("Something happened.");
}

public void TraceMessage(string message,
        [CallerMemberName] string memberName = "",
        [CallerFilePath] string sourceFilePath = "",
        [CallerLineNumber] int sourceLineNumber = 0)
{
    Trace.WriteLine("message: " + message);
    Trace.WriteLine("member name: " + memberName);
    Trace.WriteLine("source file path: " + sourceFilePath);
    Trace.WriteLine("source line number: " + sourceLineNumber);
}

// Sample Output:
//  message: Something happened.
//  member name: DoProcessing
//  source file path: c:\Users\username\Documents\Visual Studio 2012\Projects\CallerInfoCS\CallerInfoCS\Form1.cs
//  source line number: 31


.NET Framework

Unterstützt in: 4.5

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.