Конфигурация Unity 2.0 IOC для общего класса - PullRequest
2 голосов
/ 31 октября 2011

Я хочу, чтобы некоторые классы репозитория расширяли один общий универсальный класс для выполнения некоторых общих операций, проблема в том, как настроить тип UserExRepository в файле конфигурации.

public class UserExRepository : Repository<User>, IUserEx
{
    public UserExRepository(Context context):base(context){ }
}

public abstract class Repository<TObject> : IRepository<TObject>
    where TObject : class
{
    protected Context Context = null;

    public Repository(Context context)
    {
        Context = context;
    }
    // do some common operation about entity, like create, delete...
}

1 Ответ

1 голос
/ 31 октября 2011

Вы можете настроить привязку универсального к универсальному, универсального к неуниверсальному, не универсального к универсальному,

<unity>
    <containers>
        <container>
            <types>
                 <type type="Repository`1[[User]]" mapTo="UserExRepository ">
            </types>
        </container>
    </containers>
</unity>

, но нельзя настроить общее ограничение.

...