예제 #1
0
        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);
        }
예제 #2
0
 internal InfoHelper(IHasId entity, GetEntityInfo entityInfo)
     : this(entity, entityInfo, Encoding.UTF8)
 {
 }