internal static TypedReference MakeTypedReference(object target, FieldInfo[] flds) { if (target == null) { throw new ArgumentNullException(nameof(target)); } if (flds == null) { throw new ArgumentNullException(nameof(flds)); } if (flds.Length == 0) { throw new ArgumentException(SR.Arg_ArrayZeroError); } return new TypedReference { _target = target, _fields = flds }; }