Estoy desarrollando un complemento COM para Microsoft Excel, usando VB.Net. Escribí una clase para representar una hoja de trabajo que contiene ciertos elementos. Digamos, por ejemplo, que tiene un ListObject. Creo una propiedad para ListObject como esta:
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
Luego tengo propiedades (en la clase MySheet) que representan atributos del ListObject, por ejemplo:
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
La razón por la que lo configuré de esta manera es para que en mi código principal no tenga que actualizar dos propiedades cada vez que quiero cambiar el estilo (la propiedad TableStyle de la clase MySheet Y la propiedad TableSTyle del ListObject). Entonces, en mi código principal, puedo tener:
Dim MySheetObject As MySheet = New MySheet()
MySheetObject.Table = SomeListObject
MySheetObject.TableStyle = "TableStyleMedium4"
Esa última línea almacena el valor de la cadena como una propiedad del objeto MySheet y cambia la propiedad TableStyle del ListObject en Excel.
¿Está bien o está rompiendo algún principio de codificación?