我有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结构为As的结构)
struc.variable(0)=“ the id”
struc.variable(1)=“名称”
结束子
调用sub就像:
调用my_subfunction(structure_one)
该子函数必须能够检测该结构具有的元素数,因此它可以将所有新值传递给该结构...问题是它的结构并不总是相同的,有时它可以传递structure_one,并且有时是structure_two或其他结构...有什么想法吗?
这是为了使代码更简洁,它将在大型项目中节省大量代码
感谢您的帮助
答案 0 :(得分:0)
您完全可以“检测”刚刚收到的方法的结构。这是一些适合您的基本代码:
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
玩得开心!