通用接口Ninject你可以註冊一個這樣的綁定:查找類,它實現與Ninject
Bind(typeof(IQueryHandler<,>)).To(typeof(QueryHandler<,>));
但在我的情況下,我不知道實際的類的名稱。我所知道的是它實現了一個特定的接口。
因此,舉例來說,假設我有以下幾點:
public class CreatePageQueryHandler : IQueryHandler<CreatePage, string>
{
public string Retrieve(CreatePage query)
{ ... }
}
將只有一個類實現這些gerenic PARAMS接口:IQueryHandler<CreatePage, string>
是否與Ninject的方式來動態獲取類的一個實例?喜歡的東西:
kernel.Get<IQueryHandler<CreatePage, string>>(); // returns instance of: CreatePageQueryHandler
請注意:
我不手動bind
這在RegisterServices
方法想。我正在尋找一種動態的方式來獲得課程的實例。
事情變得更加複雜一點時,有沒有非通用'IQueryHandler'。在這個問題中,似乎只有一個通用的'IQueryHandler <,>'接口。 – Steven