public override object GetValue(object obj)
 {
     unsafe
     {
         StackObject esp;
         ILTypeInstance ins;
         if (isStatic)
         {
             ins = ilType.StaticInstance;
         }
         else
         {
             if (obj is ILTypeInstance)
                 ins = (ILTypeInstance)obj;
             else
                 ins = ((CrossBindingAdaptorType)obj).ILInstance;
         }
         return FieldType.CheckCLRTypes(ins[fieldIdx]);
     }
 }