I need to use Reflection for this problem. Just a simple code needed written in ASP.net and reflection. Reflection is a must.
Please take a look attached file for more info and example.
I just want to make the code below working. Output does not work as expected! Shows the same result!
Public Class JoinTables
Public Class userz_N_user_roles
Public userz As New userz
Public user_roles As New user_roles
End Class
End Class
Public Class userz
Public Shared id As Nullable(Of Integer) = Nothing
Public user_name As String
Public email_email As String
Public user_pass As String
End Class
Public Class user_roles
Public id As Nullable(Of Integer) = Nothing
Public role_name As String
End Class
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim ArrayList_users As New ArrayList
Dim MyUser1 As New userz
myuser1.email_email = "1@test.com"
myuser1.user_name = "myuser1"
myuser1.user_pass = "mypass1"
ArrayList_users.Add(MyUser1)
Dim ArrayList_roles As New ArrayList
Dim MyUserRoles1 As New user_roles
MyUserRoles1.id = "1"
MyUserRoles1.role_name = "Admin"
ArrayList_roles.Add(MyUserRoles1)
Dim myuser2 As New userz
myuser2.email_email = "2@test.com"
myuser2.user_name = "myuser2"
myuser2.user_pass = "mypass2"
ArrayList_users.Add(myuser2)
Dim MyUserRoles2 As New user_roles
MyUserRoles2.id = "1"
MyUserRoles2.role_name = "Admin"
ArrayList_roles.Add(MyUserRoles2)
'############ REFLECTION PART ###############
Dim MyArrayList As New ArrayList 'for Response
Dim MyJoinTableClass As New JoinTables.userz_N_user_roles
Dim t As Type = MyJoinTableClass.GetType
t.InvokeMember("userz", BindingFlags.SetField, Nothing, MyJoinTableClass, New Object() {MyUser1})
t.InvokeMember("user_roles", BindingFlags.SetField, Nothing, MyJoinTableClass, New Object() {MyUserRoles1})
'MsgBox(MyUser1.user_name)
MyArrayList.Add(MyJoinTableClass)
Dim MyJoinTableClass2 As New JoinTables.userz_N_user_roles
t = MyJoinTableClass2.GetType
t.InvokeMember("userz", BindingFlags.SetField, Nothing, MyJoinTableClass, New Object() {myuser2})
t.InvokeMember("user_roles", BindingFlags.SetField, Nothing, MyJoinTableClass, New Object() {MyUserRoles2})
MyArrayList.Add(MyJoinTableClass)
Dim filledJoinCls1 As New JoinTables.userz_N_user_roles
filledJoinCls1 = MyArrayList(0)
Dim filledJoinCls1_user1 As New userz
filledJoinCls1_user1 = filledJoinCls1.userz
MsgBox(filledJoinCls1_user1.user_name)
Dim filledJoinCls2 As New JoinTables.userz_N_user_roles
filledJoinCls2 = MyArrayList(1)
Dim filledJoinCls2_user2 As New userz
filledJoinCls2_user2 = filledJoinCls2.userz
MsgBox(filledJoinCls1_user1.user_name & " - " & filledJoinCls2_user2.user_name)
End Sub
Output does not work as expected! Shows the same result!