public void SetFieldByIdx(int idx, string fieldName, ObjectTypeDescriptor descriptor, object value)
{
if (_ownerDescriptor == descriptor)
{
if (idx < 0)
{
ThrowMemberAccessException(fieldName);
}
_fieldValues[idx] = value;
return;
}
var realidx = _ownerDescriptor.FindFieldIndexWithThrow(fieldName);
_fieldValues[realidx] = value;
}