title: Some IBindableComponent interface implementation issues
body: <p>I need to implement the IBindableComponent to the the following code:</p>
  
  <pre><code>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
  </code></pre>
  
  <p><strong>1 problem:</strong><br>
  Warning: event 'Disposed' conflicts with property 'Disposed' in the base class 'DisposableObject' and should be declared 'Shadows'</p>
  
  <p><strong>2 problem:</strong><br>
  Error:
  Class 'InfragisticsToolStripBindableButton' must implement 'Property Site As ISite' for interface 'System.ComponentModel.IComponent'. Implementing property must have matching 'ReadOnly' or 'WriteOnly' specifiers.</p>
  
  <p>Why should I implement "IComponent" if I implement "IBindableComponent"??</p>
  
  <p><strong>3 problem:</strong><br>
  How should I override "Dispose", if it's already implemented in the base class, but is not virtual apparently.</p>