Aracılığıyla paylaş


Visual Basic'te 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

ms235246.collapse_all(tr-tr,VS.110).gifDescription

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.

ms235246.collapse_all(tr-tr,VS.110).gifKod

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

ms235246.collapse_all(tr-tr,VS.110).gifComments

Ö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<T> 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: (Visual Basic) farklı veri türlerindeki aynı işlevselliği sağlayan bir sınıf tanımlamak

Nasıl yapılır: bir Generic sýnýfý (Visual Basic) kullanın

Başvuru

Türü listesinde (Visual Basic)

Parametre listesi (Visual Basic)

Kavramlar

Genel türler Visual Basic (Visual Basic)

Visual Basic'teki yordamlar

Yordam parametreleri ve bağımsız değişkenler (Visual Basic)