- // TODO: It should throw on imported types
- return TypeBuilder.GetField (t, field);
+ field = TypeManager.DropGenericTypeArguments (field.DeclaringType).GetField (field.Name, TypeManager.AllMembers);
+ if (field.Module == Module.Builder)
+ return TypeBuilder.GetField (t, field);
+
+ return FieldInfo.GetFieldFromHandle (field.FieldHandle, t.TypeHandle);