XML Dosyasını İşleme (Visual Basic)
Derleyici, belge oluşturmak için etiketlenmiş kodunuzdaki her yapı için bir kimlik dizesi oluşturur. (Kodunuzu etiketleme hakkında bilgi için bkz. XML Açıklama Etiketleri.) Kimlik dizesi, yapısını benzersiz olarak tanımlar. XML dosyasını işleyen programlar, karşılık gelen .NET Framework meta verilerini/yansıma öğesini tanımlamak için kimlik dizesini kullanabilir.
XML dosyası kodunuzun hiyerarşik bir gösterimi değildir; her öğe için oluşturulan kimliği olan düz bir listedir.
Derleyici, kimlik dizelerini oluştururken aşağıdaki kuralları gözlemler:
Dizeye boşluk yerleştirilmemiş.
Kimlik dizesinin ilk bölümü, tek bir karakter ve ardından iki nokta üst üste ile tanımlanan üye türünü tanımlar. Aşağıdaki üye türleri kullanılır.
Karakter | Açıklama |
---|---|
N | ad alanı Bir ad alanına belge açıklamaları ekleyemezsiniz, ancak desteklenen durumlarda bunlara CREF başvuruları yapabilirsiniz. |
T | type: Class , Module , Interface , Structure , Enum , Delegate |
F | Alan: Dim |
P | property: Property (varsayılan özellikler dahil) |
M | yöntem: Sub , Function , Declare , Operator |
E | Olay: Event |
! | hata dizesi Dizenin geri kalanı hata hakkında bilgi sağlar. Visual Basic derleyicisi çözümlenemeyen bağlantılar için hata bilgileri oluşturur. |
öğesinin
String
ikinci bölümü, ad alanının kökünden başlayarak öğenin tam adıdır. Öğenin adı, kapsayan türleri ve ad alanı noktalarla ayrılır. Öğenin adı nokta içeriyorsa, bunlar sayı işareti (#) ile değiştirilir. Hiçbir öğenin adında doğrudan bir sayı işareti olmadığı varsayılır. Örneğin, oluşturucunun tam adıString
olacaktırSystem.String.#ctor
.Özellikler ve yöntemler için, yöntemin bağımsız değişkenleri varsa, parantez içine alınmış bağımsız değişken listesi aşağıdadır. Bağımsız değişken yoksa, parantez yoktur. Bağımsız değişkenler virgülle ayrılır. Her bağımsız değişkenin kodlaması doğrudan bir .NET Framework imzasında nasıl kodlanmış olduğunu izler.
Örnek
Aşağıdaki kod, bir sınıf ve üyeleri için kimlik dizelerinin nasıl oluşturulduğunu gösterir.
Namespace SampleNamespace
''' <summary>Signature is
''' "T:SampleNamespace.SampleClass"
''' </summary>
Public Class SampleClass
''' <summary>Signature is
''' "M:SampleNamespace.SampleClass.#ctor"
''' </summary>
Public Sub New()
End Sub
''' <summary>Signature is
''' "M:SampleNamespace.SampleClass.#ctor(System.Int32)"
''' </summary>
Public Sub New(ByVal i As Integer)
End Sub
''' <summary>Signature is
''' "F:SampleNamespace.SampleClass.SampleField"
''' </summary>
Public SampleField As String
''' <summary>Signature is
''' "F:SampleNamespace.SampleClass.SampleConstant"
''' </summary>
Public Const SampleConstant As Integer = 42
''' <summary>Signature is
''' "M:SampleNamespace.SampleClass.SampleFunction"
''' </summary>
Public Function SampleFunction() As Integer
End Function
''' <summary>Signature is
''' "M:SampleNamespace.SampleClass.
''' SampleFunction(System.Int16[],System.Int32[0:,0:])"
''' </summary>
Public Function SampleFunction(
ByVal array1D() As Short,
ByVal array2D(,) As Integer) As Integer
End Function
''' <summary>Signature is
''' "M:SampleNamespace.SampleClass.
''' op_Addition(SampleNamespace.SampleClass,
''' SampleNamespace.SampleClass)"
''' </summary>
Public Shared Operator +(
ByVal operand1 As SampleClass,
ByVal operand2 As SampleClass) As SampleClass
Return Nothing
End Operator
''' <summary>Signature is
''' "P:SampleNamespace.SampleClass.SampleProperty"
''' </summary>
Public Property SampleProperty() As Integer
Get
End Get
Set(ByVal value As Integer)
End Set
End Property
''' <summary>Signature is
''' "P:SampleNamespace.SampleClass.Item(System.String)"
''' </summary>
Default Public ReadOnly Property Item(
ByVal s As String) As Integer
Get
End Get
End Property
''' <summary>Signature is
''' "T:SampleNamespace.SampleClass.NestedClass"
''' </summary>
Public Class NestedClass
End Class
''' <summary>Signature is
''' "E:SampleNamespace.SampleClass.SampleEvent(System.Int32)"
''' </summary>
Public Event SampleEvent As SampleDelegate
''' <summary>Signature is
''' "T:SampleNamespace.SampleClass.SampleDelegate"
''' </summary>
Public Delegate Sub SampleDelegate(ByVal i As Integer)
End Class
End Namespace
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin