2011-01-19 66 views
1

我需要实现IBindableComponent到下面的代码:一些IBindableComponent接口实现问题

Public Class InfragisticsToolStripBindableButton 
    Inherits Infragistics.Win.UltraWinToolbars.ButtonTool 
    Implements IBindableComponent 

    Private _DataBindings As ControlBindingsCollection 
    Private _BindingContext As BindingContext 

    Public Event Disposed As EventHandler Implements IBindableComponent.Disposed 

    Sub New() 
    MyBase.New(String.Empty) 
    End Sub 

    Public ReadOnly Property DataBindings() As ControlBindingsCollection 
    Get 
     If _DataBindings Is Nothing Then 
     _DataBindings = New ControlBindingsCollection(Me) 
     End If 
     Return _DataBindings 
    End Get 
    End Property 

    Public Property BindingContext() As BindingContext 
    Get 
     If _BindingContext Is Nothing Then 
     _BindingContext = New BindingContext() 
     End If 
     Return _BindingContext 
    End Get 
    Set(ByVal value As BindingContext) 
     _BindingContext = value 
    End Set 
    End Property 

    Public Overloads Sub Dispose() 
    '???????? include bellow code ' 
    RaiseEvent Disposed(Me, EventArgs.Empty) 
    End Sub 

    'Protected Overrides Sub Dispose(ByVal disposing As Boolean) 
    ' If disposing Then 
    ' If _DataBindings IsNot Nothing Then 
    '  _DataBindings.Clear() 
    '  _DataBindings = Nothing 
    ' End If 
    ' _BindingContext = Nothing 
    ' End If 
    ' MyBase.Dispose(disposing) 
    'End Sub 
End Class 

1问题:
警告:事件“弃置”在基类属性“处理完毕”冲突'DisposableObject',应该声明为 '阴影'

2问题:
错误: 类“Infrag isticsToolStripBindableButton'必须为接口'System.ComponentModel.IComponent'实现'Property Site As ISite'。实现属性必须具有匹配的“ReadOnly”或“WriteOnly”说明符。

如果我实现“IBindableComponent”,为什么要实现“IComponent”?

3问题:
我应该如何越权“处置”,如果它在基类中已经实现,而不是虚拟明显。

回答

3

您可以将Disposed命名为任何名称,它不需要与接口相同。

Public Event StripDisposed As EventHandler Implements IBindableComponent.Disposed 

看看它是如何保持实现IBindableComponent.Disposed。

+0

谢谢。只是增加了一点点代码。 :“) – serhio 2011-01-19 15:26:04