Udostępnij za pośrednictwem


Typ listy (Visual Basic)

Określa Parametry typu dla generic element programowania.Wiele parametrów są rozdzielane przecinkami.Oto składnia dla jednego typu parametru.

[genericmodifier] typename [ As constraintlist ]

Części

Termin

Definicja

genericmodifier

Opcjonalne.Można tylko w interfejsach rodzajowy i delegatów.Można zadeklarować typu kowariantnego za pomocą z słowa kluczowego lub kontrawariantnego za pomocą w słowa kluczowego.See Kowariancja i Kontrawariancja (C# i Visual Basic).

typename

Wymagane.Nazwa parametru typu.To jest symbol zastępczy, zastępuje się określonego typu, dostarczonych przez odpowiadającego mu typu argumentu.

constraintlist

Opcjonalne.Wykaz wymagań, które ograniczyć typ danych, który może być dostarczone dla typename.Jeśli masz wiele ograniczeń, należy je ująć w nawiasy klamrowe ({ }) i oddzielić przecinkami.Musisz wprowadzić listy ograniczenie z jako słowa kluczowego.Za pomocą As tylko raz, na początku listy.

Uwagi

Każdy element rodzajowy dla programowania musi mieć co najmniej jednego parametru typu.Parametr typu jest symbolem zastępczym dla określonego typu ( skonstruowane elementu) kod klienta określa, gdy tworzy wystąpienie typu rodzajowego.Można zdefiniować klasą rodzajową, struktury, interfejs procedury lub delegowanie.

Aby uzyskać więcej informacji o tym, kiedy zdefiniować typ rodzajowy, zobacz Typy rodzajowe w języku Visual Basic (VB).Aby uzyskać więcej informacji dotyczących nazw parametrów typu, zobacz Nazwy elementów deklarowanej (Visual Basic).

Zasady

  • Nawiasy. Jeśli dostaw lista parametrów typu, należy ją ująć w nawiasy i należy wprowadzić na liście z z słowa kluczowego.Za pomocą Of tylko raz, na początku listy.

  • Ograniczenia. Lista ograniczenia w danym typie parametr może zawierać następujące elementy w dowolnej kombinacji:

    • Dowolna liczba interfejsów.Dostarczony typ musi implementować każdego interfejsu na tej liście.

    • Co najwyżej jedną klasę.Dostarczony typ musi dziedziczyć po tej klasy.

    • New Słowa kluczowego.Dostarczony typ musi ujawniać konstruktora bez parametrów, którego dostęp użytkownika typu rodzajowego.Jest to przydatne, jeśli w przypadku ograniczenia parametru typu przez jeden lub więcej interfejsów.Typ, który implementuje interfejsy nie narażać konstruktora i w zależności od poziomu dostępu Konstruktora kodu w ramach typu rodzajowego nie może być uzyskać do niego dostępu.

    • Albo Class słowa kluczowego lub Structure słowa kluczowego.Class Słowa kluczowego ogranicza wymagają, aby którykolwiek z argumentów typu przekazanych do niego być typ odwołania, na przykład ciąg, tablica lub pełnomocnika, lub obiekt utworzony z klasy parametr typu rodzajowego.Structure Słowa kluczowego ogranicza parametr typu rodzajowego wymaganie, że którykolwiek z argumentów typu przekazanych do niego być typ wartości, na przykład wpisz struktury, wyliczenia lub dane podstawowe.Nie może zawierać zarówno Class i Structure w tym samym constraintlist.

    Dostarczony typ musi spełniać wymóg, co zostanie uwzględniony w constraintlist.

    Ograniczenia dla każdego parametru type są niezależne od ograniczeń na inne parametry typu.

Zachowanie

  • Zastąpienie w czasie kompilacji. Po utworzeniu typu skonstruowane z rodzajowy elementu programowania dostaw są zdefiniowane typu dla każdego parametru typu.Kompilator Visual Basic substytuty tego typu podane dla każdego wystąpienia typename w elemencie rodzajowy.

  • Brak ograniczeń. Jeśli nie określisz wszelkie ograniczenia parametru typu kodu jest ograniczona do operacji i obsługiwana przez członków Typ danych Object dla tego parametru typu.

Przykład

Poniższy przykład pokazuje szkielet definicji klasy dictionary rodzajowy, włączając szkielet funkcji, aby dodać nowy wpis do słownika.

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

Ponieważ dictionary jest rodzajowy, kod, który korzysta z niego można tworzyć wiele obiektów, każdego posiadające tę samą funkcję, ale działające na różne typy danych.W poniższym przykładzie pokazano wiersz kodu tworzy dictionary obiekt z String wpisów i Integer klawiszy.

Dim dictInt As New dictionary(Of String, Integer)

Poniższy przykład pokazuje równoważne definicji szkielet generowanych przez w poprzednim przykładzie.

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

Zobacz też

Zadania

Jak: Użyj klasą rodzajową (Visual Basic)

Informacje

Klauzuli (Visual Basic)

Operator New (Visual Basic)

Typ danych Object

Instrukcji funkcyjnej (Visual Basic)

Instrukcja struktury

Instrukcja Sub (Visual Basic)

W (Generic modyfikator) (Visual Basic)

Out (Generic modyfikator) (Visual Basic)

Koncepcje

Poziomy dostępu w programie Visual Basic

Inne zasoby

Kowariancja i Kontrawariancja (C# i Visual Basic)