2010-07-23 126 views
1
public void Express(Expression<Func<User, bool>> express) 
{ 
    BLL.Manager.ILogManager logs = BLL.Container.ObjectContainer.getObject<BLL.Manager.ILogManager>(); 
    logs.GetAll(1); 
    var total = logs.LastPageTotal; 
} 

的反射法作爲上述碼而獲得,我需要知道ILogManager實現類,我只知道該信息反射的方式,但在該方法中定義的類型是接口通過實現類

的類型

我一直在through the IL reflecting some call information,打電話給我所需要的信息,以最終得到這些類的電話。

+5

我已經試了幾次,現在我不知道被問到的是什麼。你可以嘗試編輯它更清晰? – 2010-07-23 12:36:35

+0

@Dreampuf可以說他想知道ILogManager的具體實現嗎? – 2010-07-23 12:40:28

+0

是的,由於@Daniel A. White說, – Dreampuf 2010-07-23 12:53:44

回答

0

我需要知道ILogManager實現類

如果我理解正確:

  • 你有一個使用ILogManager變量
  • 你想找出一些代碼哪類實施ILogManager

您可以在代碼中插入對logs.GetType()的呼叫;這會告訴你實現ILogManager的類類型。

或者,您可以告訴您哪些類以Reflector的相同方式實現給定接口:通過加載每個可能的程序集,查看那些程序集中的類型,並記錄哪些類實現ILogManager

+0

我不能修改方法裏面的代碼,不可能插入log.GetType()。另外,如果多個ILogManager實現如何匹配? – Dreampuf 2010-07-23 13:01:54

+0

如果你不能修改代碼,那麼我的第二個建議可能會有所幫助。你想做什麼? – 2010-07-23 13:22:46

+0

yes ...反映所有接口,然後查找其實現類 – Dreampuf 2010-07-23 13:51:07