' INTERFACE Public Interface IMyDriver Property DataSource() As String End Interface ' BASE CLASS Public MustInherit Class MyBaseDriver Implements IMyDriver Private _pmks_datasource As String Public Overridable Property DataSource() As String Implements IMyDriver.DataSource Get Return (_pmks_datasource) End Get Set(ByVal value As String) _pmks_datasource = value End Set End Property End Class 'SUBCLASS Public Class MyTextDriver Inherits MyBaseDriver Private _pmks_datasource As String Public Overloads Property DataSource() As String Get Return (_pmks_datasource) End Get Set(ByVal value As String) MessageBox.Show(value) _pmks_datasource = value If File.Exists(value) Then If Path.GetFileName(value).IndexOf("-") >= 0 Then Dim lcNewFilename As String = String.Format("{0}\{1}", Path.GetDirectoryName(value), Path.GetFileName(value).Replace("-", "_")) Try Dim loFInfo As FileInfo = New FileInfo(value) If File.Exists(lcNewFilename) Then Kill(lcNewFilename) End If loFInfo.CopyTo(lcNewFilename) _pmks_datasource = lcNewFilename Catch ex As Exception _pmks_datasource = "" End Try End If End If End Set End Property End Class