2014-04-30 93 views
2

我只是将C#函数转换为VB.NET函数,但不知何故,我得到一些错误。以下是我的C#函数。VB.NET必须实现错误

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. 

任何想法。请帮忙。谢谢

+0

这听起来像你需要一个BuildDescriptor()的实现,而不是一个抽象的方法。 – Casey

+0

@emodendroket为什么,如果是抽象/ MustOverride? – user2864740

+0

@emodendroket。我应该怎么做? – user2156169

回答

5

实现接口方法的抽象方法。在VB中,你只需要指定该功能实现的接口功能:

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

您可能需要添加更多的“器具”条款的其他方法 - 我不熟悉IFilterControl接口。

相关问题