Sdílet prostřednictvím


Typ seznamu (Visual Basic)

Určuje, Parametry typu pro generic programovací element.Více parametrů jsou odděleny čárkami.Následuje syntaxe pro jeden typ parametru.

[genericmodifier] typename [ As constraintlist ]

Části

Termín

Definice

genericmodifier

Nepovinné.Lze použít pouze v obecné rozhraní a delegáty.Můžete deklarovat typ covariant pomocí mimo klíčové slovo nebo pomocí contravariant v klíčové slovo.Viz téma Kovariance a Contravariance (C# a Visual Basic).

typename

Povinné.Název parametru typu.Toto je zástupný symbol nahrazuje definovaný typ poskytnutých argument typu.

constraintlist

Nepovinné.Seznam požadavků, které omezit typ dat, který může být dodán pro typename.Pokud máte více omezení, uzavřete je do složených závorek ({ }) a odděleny čárkou.Seznam omezení se musí zavést jako klíčové slovo.Pomocí As pouze jednou, na začátku seznamu.

Poznámky

Každý obecný programovací element musí trvat nejméně jeden parametr typu.Parametr typu je zástupný symbol pro určitý typ ( vyrobeno prvku) klientský kód určuje, kdy vytvoří instanci typu obecný.Můžete definovat Obecná třída, struktura, rozhraní postup nebo delegovat.

Další informace týkající se definování obecný typ, viz Obecné typy jazyka Visual Basic (Visual Basic).Další informace o typu parametru názvy, viz Deklarovaný názvy prvků (Visual Basic).

Pravidla

  • Závorky. Dodat seznam parametrů typu, je nutné uzavřít do závorek a musí zavést seznam s z klíčové slovo.Pomocí Of pouze jednou, na začátku seznamu.

  • Omezení. Seznam omezení typu obsahovat parametr v jakékoli kombinaci následujících položek:

    • Číslo rozhraní.Zadaný typ musí implementovat každé rozhraní v tomto seznamu.

    • Nanejvýš jednu třídu.Zadaný typ musí dědit ze třídy.

    • New Klíčové slovo.Zadaný typ musí vystavit konstruktor přístup obecného typu.To je užitečné, pokud omezíte parametru zadejte jedno nebo více rozhraní.Typ, který implementuje rozhraní nevystavuje nutně konstruktor a v závislosti na úrovni přístupu v konstruktoru kódu v rámci obecného typu nemusí být k němu přístup.

    • Buď Class klíčové slovo nebo Structure klíčové slovo.Class Klíčové slovo omezuje obecný typ parametru vyžadovat, že jakýkoli typ jejím argumentem Typ odkazu, například řetězec, pole nebo delegáta, nebo objekt vytvořený ze třídy.Structure Klíčové slovo omezuje parametr obecný typ vyžaduje, aby libovolný typ jejím argumentem Typ hodnoty, například zadejte strukturu, výčet nebo základní data.Nelze zahrnout i Class a Structure ve stejném constraintlist.

    Zadaný typ musí splňovat všechny požadavky zahrnout do constraintlist.

    Omezení pro každý parametr typu jsou nezávislé na jiné parametry typu omezení.

Chování

  • Nahrazení kompilace. Při vytváření typu vyrobeno z obecný programovací element dodat definovaný typ pro každý parametr typu.Kompilátor Visual Basic nahradí všechny výskyty zadaného typu typename v rámci obecného prvku.

  • Absence omezení. Pokud nezadáte žádné omezení parametru typu, kód je omezena na operace a členy podporován Datový typ objektu typ parametru.

Příklad

Následující příklad ukazuje obalu s kostlivcem definici třídy obecný slovník včetně obalu s kostlivcem funkce Přidat novou položku do slovníku.

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

Protože dictionary je obecný, kód, který používá jej můžete vytvořit různé objekty, každý na jiný datový typ, ale mají stejné funkce.Následující příklad zobrazuje řádek kódu, který vytvoří dictionary objekt s String položky a Integer klíčů.

Dim dictInt As New dictionary(Of String, Integer)

Následující příklad ukazuje ekvivalentní definice obalu s kostlivcem generované z předchozího příkladu.

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

Viz také

Úkoly

Jak: použití obecného třídy (Visual Basic)

Referenční dokumentace

Klauzule (Visual Basic)

Nový operátor (Visual Basic)

Datový typ objektu

Příkaz funkce (Visual Basic)

Výpis struktury

Příkaz Sub (Visual Basic)

V (Generic modifikátor) (Visual Basic)

Mimo (Generic modifikátor) (Visual Basic)

Koncepty

Úrovně přístupu v jazyce Visual Basic

Další zdroje

Kovariance a Contravariance (C# a Visual Basic)