Tôi đang phát triển một addin COM cho Microsoft Excel, sử dụng VB.Net. Tôi đã viết một lớp để thể hiện một bảng tính có chứa các yếu tố nhất định. Ví dụ, giả sử nó có ListObject. Tôi tạo một thuộc tính cho ListObject như thế này:
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
Sau đó, tôi có các thuộc tính (trong lớp MySheet) đại diện cho các thuộc tính của ListObject, ví dụ:
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
Lý do tôi thiết lập theo cách này là vì trong mã chính của tôi, tôi không phải cập nhật hai thuộc tính mỗi lần tôi muốn thay đổi kiểu (thuộc tính TableStyle của lớp MySheet VÀ thuộc tính TableSTyle của ListObject). Vì vậy, trong mã chính của tôi, tôi có thể có:
Dim MySheetObject As MySheet = New MySheet()
MySheetObject.Table = SomeListObject
MySheetObject.TableStyle = "TableStyleMedium4"
Dòng cuối cùng đó sau đó lưu trữ cả giá trị chuỗi dưới dạng một thuộc tính của đối tượng MySheet và thay đổi thuộc tính TableStyle của ListObject trong Excel.
Điều này có ổn không, hay nó phá vỡ một số nguyên tắc mã hóa?