2009-07-20 13 views
6

Jestem bardziej zaznajomiony z VB, a książka, którą kupiłem, ma przykłady C#, teraz utknąłem.Klasa abstrakcyjna/metoda, jak C# -> VB.NET

Jak zaimplementować następujące elementy w 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 :) 

} 

Dla kompletnego kodu patrz rozdział 2 Pobierz:

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

Odpowiedz

13

Można spróbować użyć C#/VB.NET converter. Wyjście:

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 próbowałem, ale wystąpił błąd. Twoja odpowiedź wydaje się działać th1 –

+1

Must Inherit i MustOverride są tutaj Magicznymi Słowami - Visual Basic używa dwóch różnych słów dla Klasy i Członków, aby uczynić użycie bardziej oczywistym. –

+1

@Michael: tak, w tym przypadku wydaje się, że składnia VB.NET jest bardziej niezbędna, podczas gdy składnia C# jest bardziej opisująca. 'MustInherit' i' MustOverride' mogą być umieszczone na liście TODO dewelopera, natomiast 'abstract' odnosi się bardziej do charakterystyki członków. –

0

Możesz sprawdzić niektóre auto-konwerter, np. http://www.kamalpatel.net/ConvertCSharp2VB.aspx. Jeśli to nie zadziała, możesz: utworzyć zespół w języku C# (wystarczy skompilować swój kod), pobrać .NET Reflector (jeśli go nie masz! :)), dekompilować i przekonwertować go na VB.NET

// Edytuj usunięty kod, ponieważ wygląda na uszkodzony (eh, te konwertery;)).

12

Powinieneś wiedzieć:

klasa abstrakcyjna:

W języku C#: abstract kluczowe

W VB.NET: MustInherit kluczowe

metody abstrakcyjne:

W języku C#: abstract kluczowe

W VB.NET: MustOverride kluczowe

Typowa klasa lub metoda:

języku C#: Class<T> where T : Conditions

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

Wreszcie w VB .NET słowo Select jest zastrzeżonym słowem kluczowym, więc musisz je zamknąć między [], aby z niego skorzystać.