vdhant - To nie jest jak pojemniki mają być użyte.
Chcesz użyć ISubject
, prawej ?. Następnie, jeśli przekazywane T łamiesz swoją abstrakcję, ponieważ Twój rozmówca musi wiedzieć, że ISubject
, jest rzeczywiście temat, a co więcej, Jego Subject<T>
i że wymaga T. betonu
Bez pojemnika, który pozwoli , ale jest to problem projektowy, a nie narzędzie.
Jedno naprawić swój projekt, byłoby, aby to jednoznacznie - zmień ISubject
do ISubject<T>
Następnie można zarejestrować otwarty ogólny typ ISubject<>
i powiązać go otworzyć ogólny typ Subject<>
.
container.Register(Component.For(typeof(ISubject<>))
.ImplementedBy(typeof(Subject<>)));
Wtedy byłbyś w stanie zrobić
var fooSubject = container.Resolve<ISubject<Foo>>();
nie zawierały żadnych kontekst więc mogę być poza tor z odpowiedzią, ale jedno jest pewne - masz problem projektowy.
Fajnie, więc to, co mam na myśli to, że muszę podać ogólną wersję interfejsu, a następnie mogę zrobić to, co chcę zrobić ... brzmi dla mnie dobrze. Cheers – vdhant
dzięki uratował mnie .. –
chętnie pomoże @EhsanSajjad –