Aracılığıyla paylaş


Arayan bilgilerini (C# ve Visual Basic)

Arayan bilgisi özniteliklerini kullanarak arayan için bir yöntem hakkında bilgi edinebilirsiniz. Dosya yolu kaynak kodunu kaynak kodu ve arayan üye adı satır numarasını edinebilirsiniz. Bu bilgiler, izleme, hata ayıklama ve tanı araçları oluşturmak için yararlıdır.

Bu bilgiyi elde etmek için her birinin bir varsayılan değer olan isteğe bağlı parametreler için uygulanan öznitelikleri kullanın. Aşağıdaki tabloda tanımlanan arayan bilgisi özniteliklerini listeler System.Runtime.CompilerServices ad alanı:

Öznitelik

Description

Tür

CallerFilePathAttribute

Arayan içeren kaynak dosyasının tam yolu. Derleme zamanında dosya yolu budur.

String

CallerLineNumberAttribute

Hangi yöntemi çağrılır kaynak dosyadaki satır numarası.

Integer

CallerMemberNameAttribute

Arayan yöntem veya özellik adı. Bkz: Member Names bu konuda daha sonra.

String

Örnek

Aşağıdaki örnek, arayanın bilgileri özniteliklerini kullanın gösterilmiştir. Her çağrısında TraceMessage isteğe bağlı parametreler için bağımsız değişken olarak yöntem, arayan bilgilerini değiştirdi.

' Imports System.Runtime.CompilerServices
' Imports System.Diagnostics

Private Sub DoProcessing()
    TraceMessage("Something happened.")
End Sub

Public Sub TraceMessage(message As String,
        <CallerMemberName> Optional memberName As String = Nothing,
        <CallerFilePath> Optional sourcefilePath As String = Nothing,
        <CallerLineNumber()> Optional sourceLineNumber As Integer = 0)

    Trace.WriteLine("message: " & message)
    Trace.WriteLine("member name: " & memberName)
    Trace.WriteLine("source file path: " & sourcefilePath)
    Trace.WriteLine("source line number: " & sourceLineNumber)
End Sub

' Sample output:
'   message: Something happened.
'   member name: DoProcessing
'   source file path: C:\Users\username\Documents\Visual Studio 2012\Projects\CallerInfoVB\CallerInfoVB\Form1.vb
'   source line number: 15
// 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

Notlar

Her isteğe bağlı bir parametre için bir açık varsayılan değeri belirtmeniz gerekir. İsteğe bağlı olarak belirtilen olmayan parametreleri arayan bilgisi özniteliklerini uygulayamazsınız.

Arayanın bilgileri öznitelikler isteğe bağlı bir parametre yapmayın. Bunun yerine, bağımsız değişkeni atlandığında geçirilen varsayılan değeri etkiler.

Arayanın bilgileri değerleri, hazır derleme zamanında Ara dili (IL içine) oluşturulan. Aksine sonuçlarını StackTrace özel durumlar, sonuçları için özellik göre gizleme hile şaka etkilenmez.

Hh534540.collapse_all(tr-tr,VS.110).gifÜye adları

Kullanabileceğiniz CallerMemberName özniteliği üye adı olarak belirtme önlemek için bir String adlı yöntemine argüman. Bu tekniği kullanarak sorunu önlemek, Yeniden çabasını değişmez String değerler. Bu kolaylık aşağıdaki görevler için kullanışlıdır:

  • İzleme ve tanılama yordamları kullanarak.

  • Uygulama INotifyPropertyChanged arabirim veri bağlama sırasında. Bu arabirim, güncelleştirilmiş bilgileri görüntüleyebilen, denetim özelliği değişti, bir ilişkili denetim bildirileceği bir nesnenin özelliği sağlar. Olmadan CallerMemberName özniteliği, sabit değer olarak özellik adını belirtmeniz gerekir.

Aşağıdaki grafik üye kullandığınızda, döndürülen adlarını gösterir CallerMemberName özniteliği.

Çağrı oluşur içinde

Üye adı sonuç

Yöntem, özellik veya olay

Yöntem, özellik veya çağrı kaynaklandığı olay adı.

Yapıcı

".Ctor" dizesi

Statik oluşturucu

".Cctor" dizesi

Yıkıcı

"Finalize" dizesi

Kullanıcı tanımlı işleçler veya dönüştürme

Örneğin, "op_Addition" üye için üretilen ad.

Öznitelik Oluşturucu

Öznitelik uygulandığı üyenin adı. Bu sonuç, öznitelik üye (örneğin, bir parametre, bir dönüş değeri veya genel bir tür parametresiyle) içinde bir öğeyse, bu öğeyle ilişkili üye adıdır.

(Örneğin, montaj düzeyi veya türlerine uygulanan öznitelikleri) içeren hiçbir üye

İsteğe bağlı parametre varsayılan değeri.

Ayrıca bkz.

Başvuru

Öznitelikler (C# ve Visual Basic)

Kavramlar

Ortak öznitelikleri (C# ve Visual Basic)

İsteğe bağlı parametreler (Visual Basic)

Adlandırılmış ve isteğe bağlı bağımsız değişkeni (C# Programlama Kılavuzu)

Diğer Kaynaklar

Programlama kavramları