我試圖強制繼承類使用自定義屬性。我創建了一個類庫,其中要創建項目的用戶將這樣做,但不得不添加一個屬性(或Visual Studio將自動添加默認屬性)到他們的繼承類。以下是我希望能實現:在VB中,你如何強制繼承類在類上使用屬性?
BaseClass.vb:
<CustomAttribute(10)> _
Public Class BaseClass
End Class
MyClass.vb:
<CustomAttribute(12)> _
Public Class MyClass
Inherits BaseClass
Public Sub New()
Mybase.New()
End Sub
End Class
所以想到的是,就像當你標記功能「 MustOverride「,然後繼承類必須覆蓋函數,我希望該屬性爲」MustOverride「,導致繼承類指定值。
我已經試過這一點,它會工作,但它是乾淨多了,如果我可以使用屬性:
BaseClass.vb:
Public MustInherit Class BaseClass
Public MustOverride ReadOnly Property CustomAttribute() As String
End Class
MyClass.vb:
Public Class MyClass
Inherits BaseClass
Public Sub New()
Mybase.New()
End Sub
Public Overrides ReadOnly Property CustomAttribute() As String
Get
Return "testing"
End Get
End Property
End Class
感謝您提供任何幫助。
Scott
如何使用這些類使屬性比屬性更清潔? – CoderDennis 2009-10-29 16:51:20
@Dennis - 注意代碼在頂級類集上的時間縮短了多少?這就是我所追求的。請注意,這只是一個屬性,我需要在每個繼承類上放置20個以上的屬性。 (當然,實際上只有4行代碼可以爲每個屬性保存(屬性),但是4 * 20 = 80行額外的代碼是我希望不會有的(謝天謝地,visual studio爲我生成了這個代碼,但仍然讓我感到混亂代碼。) – Scott 2009-10-29 17:27:55
好的,但是你寫了20個自定義屬性類嗎?那些使用這些類的代碼呢?代碼是如何清潔以查看應用於類的屬性?這看起來不是正確的 – CoderDennis 2009-10-29 20:50:55