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 |
Arayan içeren kaynak dosyasının tam yolu. Derleme zamanında dosya yolu budur. |
String |
|
Hangi yöntemi çağrılır kaynak dosyadaki satır numarası. |
Integer |
|
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.
Ü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)