Aracılığıyla paylaş


Visual Basic'de Genel Yordamlar

A Genel yordamolarak da bilinir, bir generic yöntem, en az bir tür parametresi ile tanımlanan bir yordam olan.Bu yordam çağrıları her zaman veri türleri kendi gereksinimlerine uyarlamak arama kodu sağlar.

Bir yordam yalnızca bir generic sýnýf ya da genel yapısı içinde tanımlanan sayesinde genel değil.Genel olması için yordamı gidebileceği herhangi bir normal parametrelere ek olarak en az bir tür parametresi gerçekleştirmeniz gerekir.Genel sınıf veya yapı içinde bulunuyorlar yordamları ve yapısı içinde bulunuyorlar bir sınıf içerebilir veya modül genel yordamları içerebilir.

Genel yordam türü parametrelerinin kendi normal parametre listesinde bir ve alt yordamı kod içeriyorsa, dönüş türü kullanabilirsiniz.

Tür kesmesi

Herhangi bir tür bağımsız değişkenleri hiç girmeden genel yordamı çağırabilirsiniz.Bu yolla çaðýrýrsanýz, derleyici geçirmek için yordamın tür bağımsız değişkeni için uygun veri türlerini belirlemek çalışır.Bu adı verilen tür kesmesi.Aşağıdaki kod bir çağrı gösterir ve derleyici tür geçmesi yorumlar, String tür parametresi için t.

Public Sub testSub(Of t)(ByVal arg As t)
End Sub 
Public Sub callTestSub()
    testSub("Use this string")
End Sub

Derleyici tür bağımsız değişkenleri aramanız bağlamından gösterilemez, bir hata bildirir.Olası bir neden, böyle bir hata bir dizi rütbe uyuşmazlık var.Örneğin, normal bir parametre türü parametre dizisi tanımladığınız varsayalım.Genel yordam çağrısı sağlayan bir dizi farklı rank (sayı) boyut uyuşmazlığı tür kesmesi başarısız olmasına neden.Aşağıdaki kod bir çağrı gösterir, iki boyutlu bir dizi tek boyutlu bir dizi bekleyen bir yordama iletilen içinde.

Public Sub demoSub(Of t)(ByVal arg() As t)

End Sub

Public Sub callDemoSub()

Dim twoDimensions(,) As Integer

demoSub(twoDimensions)

End Sub

Tüm tür bağımsız değişkenleri yalnızca atarak tür kesmesi çağırabilirsiniz.Bir tür bağımsız değişkeni kullanırsanız, tüm bunları sağlamanız gerekir.

Tür kesmesi genel yordamlar için desteklenir.Generic sýnýflar, yapıları, arabirimler ya da temsilciler tür kesmesi çağıramazsınız.

Örnek

Description

Aşağıdaki örnek genel tanımlar Function bir dizi belirli bir öğeyi bulmak için yordam.Bu bir tür parametre tanýmlar ve parametre listesi iki parametre oluşturmak için kullanır.

Kod

Public Function findElement(Of T As IComparable) (
        ByVal searchArray As T(), ByVal searchValue As T) As Integer 

    If searchArray.GetLength(0) > 0 Then 
        For i As Integer = 0 To searchArray.GetUpperBound(0)
            If searchArray(i).CompareTo(searchValue) = 0 Then Return i
        Next i
    End If 

    Return -1
End Function

Comments

Önceki örnekte karşılaştırmak için gereken searchValue her bir öğesi karşı searchArray.Bu yeteneği garantilemek için type parametresi sınırlar T uygulamak için IComparable arabirimi.Kodu kullanır CompareTo yöntemi yerine = operatörü, bir tür bağımsız değişkeni için sağlanan garanti olduğundan T destekler = işleci.

Test edebilirsiniz findElement aşağıdaki kodu yordama.

Public Sub tryFindElement()
    Dim stringArray() As String = {"abc", "def", "xyz"}
    Dim stringSearch As String = "abc" 
    Dim integerArray() As Integer = {7, 8, 9}
    Dim integerSearch As Integer = 8
    Dim dateArray() As Date = {#4/17/1969#, #9/20/1998#, #5/31/2004#}
    Dim dateSearch As Date = Microsoft.VisualBasic.DateAndTime.Today
    MsgBox(CStr(findElement(Of String)(stringArray, stringSearch)))
    MsgBox(CStr(findElement(Of Integer)(integerArray, integerSearch)))
    MsgBox(CStr(findElement(Of Date)(dateArray, dateSearch)))
End Sub

Önceki çağrı MsgBox "0", "1" ve "-1" sırasıyla görüntülenir.

Ayrıca bkz.

Görevler

Nasıl yapılır: Farklı Veri Türlerinde Aynı İşlevselliği Sağlayabilen Bir Sınıf Tanımlama (Visual Basic)

Nasıl yapılır: Genel Bir Sınıf Kullanma (Visual Basic)

Başvuru

Tür Listesi (Visual Basic)

Parametre Listesi (Visual Basic)

Kavramlar

Visual Basic'de Genel Türler (Visual Basic)

Visual Basic'de Yordamlar

Yordam Parametreleri ve Bağımsız Değişkenler (Visual Basic)