namespace SysManager.Repository { public abstract class RepositoryBase<T> : IRepository<T> where T : class { protected readonly ISiriusSqlContext _siriusContext; protected readonly IDbSet<T> _dbSet; private readonly IExceptionParser _exceptionParser; public RepositoryBase(ISiriusSqlContext context) { _siriusContext = context; _dbSet = _siriusContext.Set<T>(); _exceptionParser = new ExceptionParser(); } etc.Now, I want to be able to optionally enhance it, e.g. I want to be able to pass an extra class but only in some cases, e.g. something like
public abstract class RepositoryBase<T, TList> : IRepository<T> where T : class, where TList: class { protected readonly ISiriusSqlContext _siriusContext; protected readonly IDbSet<T> _dbSet; private readonly IExceptionParser _exceptionParser; public RepositoryBase(ISiriusSqlContext context) { _siriusContext = context; _dbSet = _siriusContext.Set<T>(); _exceptionParser = new ExceptionParser(); }Will I be able to do something like this and keep all my current declarations the same as this extra TList class I only want to use when supplied?