2010-07-23 79 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