internal unsafe InfoHelper(IHasId entity, GetEntityInfo entityInfo, Encoding encoding) { if (entity == null) { throw new ArgumentNullException(nameof(entity)); } if (entityInfo == null) { throw new ArgumentNullException(nameof(entityInfo)); } _encoding = encoding ?? throw new ArgumentNullException(nameof(encoding)); _entityInfoFunc = (parameterName, paramSize, mem) => entityInfo(entity.Id, parameterName, paramSize, (IntPtr)mem, out _); _paramSizeFunc = (TParameter name, out uint parameterValueSizeReturn) => entityInfo(entity.Id, name, 0, IntPtr.Zero, out parameterValueSizeReturn); }
internal InfoHelper(IHasId entity, GetEntityInfo entityInfo) : this(entity, entityInfo, Encoding.UTF8) { }