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]); } }