我正在尝试将 mySubClass.vb 文件实现为另一个主类的嵌套子类。看起来 Partial Class
的想法正是我所需要的,但是当我尝试将 mySubClass.vb 作为另一个主类的嵌套子类拉入时,实现不起作用。
我最初的代码实现直接使用了mySubClass
,所以我知道这个功能是有效的。我只想使用 mySubClass
作为 clsMain
中的数据结构。
主类
Public Class clsMain
Public Property myIntProp as Integer
Public property myStrProp as String
'other properties
Partial Public Class MySubClass
'I want this functionality to be accessible via clsMain.MySubClass
'Just like any other property or function of clsMain
'Partial would keep things organized nicely
End Class
End Class
子类
我想用作 clsMain.MySubClass 的 class.vb。 文件:MySubClass.vb
Partial Public Class MySubClass
Inherits BaseCollection
Private Class MySubSubClass '(Used for custom properties and functions)
'More properties and Functions
End Class
End Sub
Public Class BaseCollection 'functionality of MySubClass
Public Function MyFunction1()
'Return Data
End Function
End Class
主类如何使用
Public Class UsageClass
Private myMainDataStructure as new clsMain
Private Sub GetSubClassList()
dim MyData as ArrayList = myMainDataStructure.MySubClass.MyFunction1()
'^^^ error on this line: MyFunction1() is not a member of project.clsMain.MySubClass^^^
End Sub
End Class
最佳答案
您应该创建一个包含该类实例的属性,而不是尝试将其设为分部类。
嵌套类必须被创建并拥有实例,就像顶级类一样。通过在主类中创建属性,您可以在主类构造函数中自动创建该实例,并且您的代码将按预期工作。
Public Class clsMain
Public Property myIntProp as Integer
Public property myStrProp as String
'other properties
Public Property OtherFunctionality as MyOtherClass = New MyOtherClass()
然后只需在单独的文件中定义类即可:
Public Class MyOtherClass
Public Sub MyFunction1()
关于vb.net - 如何使用分部类作为子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778225/