Абстрактный класс / метод, как на C # -> VB.NET - PullRequest
8 голосов
/ 20 июля 2009

Я более знаком с VB, и в книге, которую я купил, есть примеры на C #, теперь я застрял.

Как мне реализовать следующее в 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 :)

}

Полный код см. В главе 2:

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

Ответы [ 3 ]

15 голосов
/ 20 июля 2009

Вы можете попробовать использовать C # / VB.NET конвертер . Выход:

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
13 голосов
/ 20 июля 2009

Вы должны знать:

Абстрактный класс:

В C #: abstract ключевое слово

В VB.NET: MustInherit ключевое слово

Абстрактный метод:

В C #: abstract ключевое слово

В VB.NET: MustOverride ключевое слово

Общий класс или метод:

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

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

Наконец, в VB.NET слово Select является зарезервированным ключевым словом, поэтому для его использования необходимо заключить его в [].

0 голосов
/ 20 июля 2009

Вы можете проверить некоторые автоконвертер, например. http://www.kamalpatel.net/ConvertCSharp2VB.aspx. Если это не сработает, вы можете: создать сборку в c # (просто скомпилировать код), загрузить .NET Reflector (если у вас его нет! :)), декомпилировать сборку и преобразовать ее в VB.NET

// Редактировать удаленный код, так как кажется, что он неисправен (эх, эти конвертеры;)).

...