C# VB.NET必须实现错误

C# VB.NET必须实现错误,c#,vb.net,c#-to-vb.net,C#,Vb.net,C# To Vb.net,我只是将C#函数转换为VB.NET函数,但不知怎的,我得到了一些错误。下面是我的C#函数 public abstract class BaseFilterControl: UserControl,IFilterControl { public string PropertyName { get; set; } public FilterDescriptorBase AssociatedDescriptor { get; set; } public bool IsFir

我只是将C#函数转换为VB.NET函数,但不知怎的,我得到了一些错误。下面是我的C#函数

public abstract class BaseFilterControl: UserControl,IFilterControl
{
    public string PropertyName { get; set; }

    public FilterDescriptorBase AssociatedDescriptor { get; set; }

    public bool IsFirst { get; set; }

    public abstract FilterDescriptorBase BuildDescriptor();

    protected abstract void Initialize();
}
下面是我当前的VB函数

Public MustInherit Class BaseFilterControl
    Inherits UserControl
    Implements IFilterControl

    Public Property PropertyName As String

    Public Property AssociatedDescriptor As FilterDescriptorBase

    Public Property IsFirst As Boolean

    Public MustOverride Function BuildDescriptor() As FilterDescriptorBase

    Protected MustOverride Sub Initialize()
End Class
我得到了这个错误:

BaseFilterControl must implement Function BuildDescriptor() As FilterDescriptorBase.

任何想法。请帮忙。感谢

一个实现接口方法的抽象方法。在VB中,只需指定函数实现接口函数:

Public MustOverride Function BuildDescriptor() As FilterDescriptorBase Implements IFilterControl.BuildDescriptor

您可能需要为其他方法添加更多的“Implements”子句-我不熟悉IFilterControl接口。

听起来您需要的是BuildDescriptor()的实现,而不是抽象方法。@emodernoket为什么,如果它是抽象的/MustOverride?@emodernoket。我该怎么做?@emodendroket:一个实现接口方法的抽象方法很好——它只需要方法上的“Implements”子句就可以了。好吧,幸好我当时只是做了一个注释而不是回答。