Ich entwickle ein COM-Add-In für Microsoft Excel mit VB.Net. Ich habe eine Klasse geschrieben, um ein Arbeitsblatt darzustellen, das bestimmte Elemente enthält. Nehmen wir zum Beispiel an, es hat ein ListObject. Ich erstelle eine Eigenschaft für das ListObject wie folgt:
Public Class MySheet
Private myTable as Excel.ListObject
Public Property Table() As Excel.ListObject
Get
Return myTable
End Get
Set(ByVal value As Excel.ListObject)
myTable = value
End Set
End Property
Ich habe dann Eigenschaften (in der MySheet-Klasse), die Attribute des ListObject darstellen, zum Beispiel:
Private myTableStyle As String
Public Property TableStyle As String
Get
Return myTableStyle
End Get
Set(ByVal value As String)
myTableStyle = value
Me.Table.TableStyle = value
End Set
End Property
Der Grund, warum ich es so eingerichtet habe, ist, dass ich in meinem Hauptcode nicht jedes Mal zwei Eigenschaften aktualisieren muss, wenn ich den Stil ändern möchte (die TableStyle-Eigenschaft der MySheet-Klasse UND die TableSTyle-Eigenschaft des ListObject). Also in meinem Hauptcode kann ich haben:
Dim MySheetObject As MySheet = New MySheet()
MySheetObject.Table = SomeListObject
MySheetObject.TableStyle = "TableStyleMedium4"
In dieser letzten Zeile wird dann sowohl der Zeichenfolgenwert als eine Eigenschaft des MySheet-Objekts gespeichert als auch die TableStyle-Eigenschaft des ListObject in Excel geändert.
Ist das in Ordnung oder verstößt es gegen ein Kodierungsprinzip?