我需要将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问题:
警告:事件'Disposed'与基类'DisposableObject'中的'Disposed'属性冲突,应声明为'Shadows'
2问题:
错误:
类'InfragisticsToolStripBindableButton'必须为接口'System.ComponentModel.IComponent'实现'Property Site As ISite'。实现属性必须具有匹配的'ReadOnly'或'WriteOnly'说明符。
如果我实现“IBindableComponent”??
,为什么要实现“IComponent” 3问题:
如果它已经在基类中实现,但是显然不是虚拟的,我应该如何覆盖“Dispose”。
答案 0 :(得分:3)
您可以为Disposed
命名任何名称,它不需要与界面相同。
Public Event StripDisposed As EventHandler Implements IBindableComponent.Disposed
看看它是如何保持实现IBindableComponent.Disposed。