Tür Listesi (Visual Basic)
Belirtir Tür parametreleri için bir Genel programlama öğesi.Birden çok parametre virgüllerle ayrılır.Aşağıda, bir tür parametresi için sözdizimi vardır.
[genericmodifier] typename [ As constraintlist ]
Bölümleri
Terim |
Tanım |
genericmodifier |
İsteğe Bağlı.Yalnızca genel arabirimleri ve temsilciler kullanılabilir.Size bir türünü değişkenle birlikte kullanarak bildirebilirsiniz dışarı anahtar sözcüğünü ya da karşıtı kullanarak içinde anahtar sözcüğü.Bkz: Kovaryans ve Kontravaryans (C# ve Visual Basic) |
typename |
Gerekli.Type parametresi adı.Sağlanan karşılık gelen türü bağımsız değişkeni tarafından tanımlanan bir türe göre değiştirilmesi için yer tutucu, budur. |
constraintlist |
İsteğe Bağlı.Sınırlamak için sağladığı veri türü gereksinimleri listesi typename.Birden fazla kısıtlamalar varsa, bunları kuþak imleri içine alın ({ }) ve bunları virgüllerle ayırın.Kısıtlama listesi ile tanıtmak gerekir olarak anahtar sözcüğü.Kullandığınız As listesinin başına yalnızca bir kez. |
Notlar
Genel programlama her öğe, en az bir tür parametresi gerçekleştirmeniz gerekir.Belirli bir türü için bir yer tutucu olmayan bir tür parametresi (bir öğesi oluşturulur) istemci kodu ne zaman genel türünde bir örnek oluşturur belirtir.Bir generic sýnýf tanımlamak, yapı, yordam, arabirim veya temsilci.
Genel bir tür tanýmlamak ne zaman hakkında daha fazla bilgi için bkz: Visual Basic'de Genel Türler (Visual Basic).Tür parametre adları hakkında daha fazla bilgi için bkz: Bildirilen Öğe Adları (Visual Basic).
Kurallar
Parantez. Türü parametre listesi sağlayın, parantez içine almalısınız ve listesiyle tanıtmak gerekir, , anahtar sözcüğü.Kullandığınız Of listesinin başına yalnızca bir kez.
Kısıtlamalar. Bir listesini kısıtlamaları bir türde parametresi aşağıdaki öğelerden herhangi bir bileşimini içerebilir:
Arabirim numarası.Sağlanan tür, bu listede her arabirimini uygulamalıdır.
En fazla bir sınıfı.Sağlanan tür o sınıfından miras gerekir.
New Anahtar sözcüğü.Sağlanan tür genel türünüzü erişebileceği bir parametresiz oluşturucusu göstermek gerekir.Bu tür parametresi bir veya daha çok arabirimler tarafından sınırlamak kullanışlıdır.Arabirimleri uygulayan bir tür mutlaka bir kurucu göstermiyor ve bir kurucu erişim düzeyine bağlı genel tür içindeki kod erişim mümkün olmayabilir.
Ya da Class anahtar sözcüğünü ya da Structure anahtar sözcüğü.Class Anahtar sözcüğünü kendisine iletilen herhangi bir tür bağımsız değişkeni, bir başvuru türü, örneğin bir dize, dizi veya temsilci olması veya bir nesneyi oluşturan bir sınıftan gerektirecek şekilde genel bir tür parametresiyle zorlar.Structure Anahtar sözcük örneğin yapısı, numaralandırma veya temel veri tipi kendisine iletilen herhangi bir tür bağımsız değişkeni için bir değer türü olmasını gerektirir için genel bir tür parametresiyle zorlar.Her ikisini birden içeremez Class ve Structure aynı constraintlist.
Sağlanan tür, dahil her gereksinimi karşılamak gerekir constraintlist.
Her tür parametresi kısıtlamaları, diğer tür parametreleri ile ilgili bazı sınırlamalar bağımsızdır.
Davranış
Derleme zamanı değiştirme. Genel programlama öğesinden oluşturulmuş türü oluşturduğunuzda, her tür parametresi için tanımlı bir türü saðlanýr.Visual Basic derleyici her geçtiği için sağlanan bu tür değiştirir typename genel öğesi içinde.
Devamsızlık, sınırlamalar. Herhangi bir tür parametresi kısıtlamaları belirtmezseniz, kodunuzu işlemlerin ve üyeleri tarafından desteklenen sınırlı Nesne Veri Türü bu tür parametresi için.
Örnek
Aşağıdaki örnek, sözlüğe yeni bir giriş eklemek için bir iskelet işlevi de dahil olmak üzere, bir genel sözlük sınıfın iskelet tanımını gösterir.
Public Class dictionary(Of entryType, keyType As {IComparable, IFormattable, New})
Public Sub add(ByVal et As entryType, ByVal kt As keyType)
Dim dk As keyType
If kt.CompareTo(dk) = 0 Then
End If
End Sub
End Class
Çünkü dictionary olan genel, kullandığı kod nesneleri çeşitli, her aynı işlevselliğe sahip, ancak farklı bir veri türüne göre davranan oluşturabilirsiniz.Aşağıdaki örnek oluşturur kod satırını gösterir bir dictionary ile nesne String girişleri ve Integer anahtarları.
Dim dictInt As New dictionary(Of String, Integer)
Aşağıdaki örnek, önceki örnekte tarafından üretilen eşdeğer iskelet tanımı gösterilmektedir.
Public Class dictionary
Public Sub add(ByVal et As String, ByVal kt As Integer)
Dim dk As Integer
If kt.CompareTo(dk) = 0 Then
End If
End Sub
End Class
Ayrıca bkz.
Görevler
Nasıl yapılır: Genel Bir Sınıf Kullanma (Visual Basic)
Başvuru
Function Deyimi (Visual Basic)
In (Genel Değiştirici) (Visual Basic)
Out (Genel Değiştirici) (Visual Basic)
Kavramlar
Visual Basic'de Erişim Düzeyleri