Помогите мне решить следующую задачу: У меня есть интерфейс IRepository, который в качестве примера определяет свойство Context:
interface IRepository
{
IContext Context { get; set; }
}
interface IOne : IRepository
{
}
interface ITwo : IRepository
{
}
Свойство Context в реализации имеет DependencyAttribyte, и вся реализация зарегистрирована как в следующем примере:
container.RegisterType<IOne, One>();
container.RegisterType<ITwo, Two>();
container.RegisterType<IContext, Context>();
Я хочу разрешить реализацию "Два" из реализации "Один" с наследованием значения свойства "Контекст";
в качестве образца:
public class One : IOne
{
[Dependency]
public IContext Context { get; set; }
[Dependency]
public IUnityContainer Container { get; set; }
public void Test1()
{
Context = new Context();
var two = Container.Resolve<ITwo>();
// I want that these values would been equal
Assert.AreEqual(Context, two.Context);
}
}
Если вы сможете показать другой способ разрешения реализаций с наследованием значений, это было бы здорово.