我有2个或更多结构:
Private Structure structure_one
Public id As String
Public name As String
End Structure
Private Structure structure_two
Public counter As integer
Public code_value As String
Public foo as string
End Structure
我想调用一个子函数,该子函数可以通过引用采用该结构并将值分配给该结构内部的变量。请注意,结构名称变量和总变量不同。
伪代码:
Sub my_subfunction(ByRef结构为结构)
struc.variable(0)=“ the id”
struc.variable(1)=“名称”
结束子
调用子程序将类似于:
调用my_subfunction(structure_one)
子功能必须能够检测结构具有的元素数,因此它可以将所有新值传递给该结构。但要注意的是,它并不总是相同的结构,有时它可以传递structure_one,有时structure_two或其他结构...有什么想法吗?
此用法是为了使代码更简洁,在大型项目中将节省大量代码
感谢您的帮助
您完全可以“检测”您的方法刚刚收到的结构。这是为您提供的一些基本代码:
Private Sub AssignValuesToMyStructures(struct As Object)
Select Case True
Case TypeOf struct Is Structure_one
'do stuff
Case TypeOf struct Is Structure_two
'do other stuff
End Select
End Sub
玩得开心!