private void LinkData() { foreach (FieldInfo f in m_fields) { foreach (FieldInfo t in t_fields) { if (f.Name == t.Name && f.FieldType.GetGenericTypeDefinition() == t.FieldType.GetGenericTypeDefinition() && f.FieldType.GetGenericArguments()[0] == t.FieldType.GetGenericArguments()[0]) { AI_Data <System.Int32> f_d = (AI_Data <System.Int32>)f.GetValue(this); AI_Data <System.Int32> t_d = (AI_Data <System.Int32>)t.GetValue(_behaviour); f_d.Link(t_d); t_d.Link(f_d); } } } }