2011-01-19 64 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