抽象类/方法,如何使用C#-->;VB.NET

抽象类/方法,如何使用C#-->;VB.NET,vb.net,abstract-class,generics,Vb.net,Abstract Class,Generics,我更熟悉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 :) } 公共抽象类ENTB

我更熟悉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 :)

}
公共抽象类ENTBaseDATA,其中T:IENTBaseEntity
{
公共摘要列表Select();
公共摘要T选择(int-id);
等等……此代码已被转换:)
}
有关完整代码,请参阅第2章下载:

您可以尝试使用。输出:


你可以检查一些自动转换器,fe。 如果它不起作用,您可以:在c#中创建一个程序集(只需编译代码),下载.NET Reflector(如果您没有),反编译程序集并将其转换为VB.NET

//编辑删除的代码,因为它似乎已损坏(呃,那些转换器;)。

您应该知道:

抽象类:

在C中:
摘要
关键字

在VB.NET中:
MustInherit
关键字

抽象方法:

在C中:
摘要
关键字

在VB.NET中:
MustOverride
关键字

泛型类或方法:

在C中:
类,其中T:Conditions

在VB.NET中:
类(作为条件的T)


最后,在VB.NET中,单词
Select
是一个保留关键字,因此您必须将它括在[]之间才能使用它。

Thx我尝试过,但它给出了一个错误。您的答案似乎很有效,这里的神奇词语是mustInherit和MustOverride-VisualBasic对类和成员使用了两个不同的词,以使用法更为明显。@Michael:是的,在这种情况下,感觉VB.NET语法更为必要,而c#语法更具描述性
MustInherit
MustOverride
可以放在开发人员的待办事项列表上,而
abstract
更多地涉及成员的特征。
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