*   >> Leitura Educação Artigos >> education >> línguas

Como criar um tipo genérico em vb em Vb.net

Você terá que seguir esses passos Primeiro, examine as seguintes classes. Classes Obj e Gen desempenhar exactamente as mesmas tarefas, mas Obj usa a classe de objeto para permitir qualquer tipo para ser armazenado em seu campo, enquanto Gen usa os genéricos:

'VB

Class Obj

V1 Pública As Object

V2 Pública As Object

Public Sub New (ByVal _V1 As Object, ByVal _V2 As Object) V1 = _V1

V2 = _V2

End Sub

End Class

Class Gen (Of T, U) V1 Pública Como T Pública V2 Como U

Public Sub New (ByVal _V1 Como T, ByVal _V2 como U) V1 = _V1

V2 = _V2

End Sub

Class End

//C #

class Obj

{

Objeto público t;

Objeto público u;

pública Obj (_t Object, _u Object)

{

t = _t;

= u _u;

}

}

classe Gen

{

T público t;

pública U u;

pública Gen (T _t, U _u)

{

t = _t;

= u _u;

}

}

Como você pode ver, a classe Obj tem dois membros do tipo Object.

A classe Gen tem dois membros de campo do tipo T e U. O código consumir determina os tipos de T e U. Dependendo de como o código consumindo usa a classe Gen, T e U poderia ser uma string, um int, uma classe personalizada, . ou qualquer combinação destes

Há uma limitação significativa para a criação de uma classe genérica (sem restrições, como discutido na seção "How to Use restrições", mais adiante neste capítulo): código genérico só é válida se ele compila para sempre y instância construída possível do genérico, se um Int, uma string, ou qualquer outra classe.

Essencialmente, você está limitado às capa- da classe Object base quando escrever código genérico. Portanto, você poderia chamar o ToString método GetHashCode ou dentro de sua classe, mas você não poderia usar o + ope- ator ou o operador>. Essas mesmas restrições não se aplicam ao código de consumir porque o código consumindo declara um tipo específico para o genérico.

Como consumir um tipo genérico

Quando você consumir um tipo genérico, você deve especificar os tipos para todos os genéricos utilizados.

Considere o seguinte código do aplicativo Console, que usa as classes Gen e Obj:

'VB

' Adicionar duas seqüências usando a classe Obj

oa Dim obj = New Obj ("Olá", "World!") Console.WriteLine (CType (oa.V1, String) + CType (oa.V2, String))

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.