Sto sviluppando un componente aggiuntivo COM per Microsoft Excel, utilizzando VB.Net. Ho scritto una classe per rappresentare un foglio di lavoro che contiene determinati elementi. Diciamo per esempio che ha un ListObject. Creo una proprietà per ListObject in questo modo:
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
Ho quindi delle proprietà (nella classe MySheet) che rappresentano gli attributi di ListObject, ad esempio:
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
Il motivo per cui l'ho impostato in questo modo è che nel mio codice principale non devo aggiornare due proprietà ogni volta che voglio cambiare lo stile (la proprietà TableStyle della classe MySheet AND la proprietà TableSTyle del ListObject). Quindi nel mio codice principale posso avere:
Dim MySheetObject As MySheet = New MySheet()
MySheetObject.Table = SomeListObject
MySheetObject.TableStyle = "TableStyleMedium4"
L'ultima riga memorizza il valore della stringa come proprietà dell'oggetto MySheet e modifica la proprietà TableStyle di ListObject in Excel.
Va bene, o sta infrangendo qualche principio di codifica?