2009-07-20 17 views
6

Sono più familiare con VB e il libro che ho comprato ha esempi C#, ora sono bloccato.Classe astratta/metodo, come C# -> VB.NET

Come implementare quanto segue in VB.NET?

public abstract class ENTBaseDATA<T> where T : IENTBaseEntity 

{ 
    public abstract List<T> Select(); 
    public abstract T Select(int id); 

    etc....This code already is converted :) 

} 

Per il codice completo si veda il Capitolo 2 scaricare:

http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470396865,descCd-DOWNLOAD.html

risposta

13

Si potrebbe provare a utilizzare un C#/VB.NET converter. Uscita:

Public MustInherit Class ENTBaseDATA(Of T As IENTBaseEntity) 
    Public MustOverride Function [Select]() As List(Of T) 
    Public MustOverride Function [Select](ByVal id As Integer) As T 
    ' and then the other code ' 
End Class 
+0

Thx ho provato ma ha dato un errore. La tua risposta sembra funzionare con –

+1

MustInherit e MustOverride sono le parole magiche qui: Visual Basic utilizza due parole diverse per Classi e Membri per rendere l'utilizzo più ovvio. –

+1

@ Michael: sì, in questo caso sembra che la sintassi VB.NET sia più imperativa, mentre la sintassi C# è più descrittiva. 'MustInherit' e' MustOverride' possono essere inseriti nell'elenco TODO dello sviluppatore, mentre 'abstract' si riferisce più alle caratteristiche dei membri. –

0

È possibile controllare alcuni auto-converter, f. http://www.kamalpatel.net/ConvertCSharp2VB.aspx. Se non funziona, puoi: creare un assembly in C# (basta compilare il codice), scaricare .NET Reflector (se non ne hai uno! :)), decompilare l'assembly e convertirlo in VB.NET

// Modifica codice rimosso, come sembra sia rotto (eh, quei convertitori;)).

12

Si deve sapere:

astratta Classe:

In C#: abstract parola chiave

In VB.NET: MustInherit parola chiave

astratta Metodo:

In C#: abstract parola chiave

In VB.NET: MustOverride parola chiave

classe generica o di un metodo:

In C#: Class<T> where T : Conditions

In VB.NET: Class(Of T As Conditions)

Infine, in VB .NET la parola Select è una parola chiave riservata, quindi devi racchiuderla tra [] per poterla usare.