我有一个接口A,B,C,D都实现了接口A
,E没有实现
请问我在反射的时候,怎么判断B,C,D实现了接口,而E没有实现了?for(int i=0;i<files.Length;i++)
{
A = Assembly.LoadFrom(files[i]);
T = A.GetTypes();
foreach(Type t in T)
{
if(t.BaseType == typeof(IBaseService)&&!t.IsClass){

.......
}
}
}
用BaseType,全部都是object...求达人给看看

解决方案 »

  1.   

    private Type FindEntryPoint(Assembly assembly, string typeName)
            {
                foreach (Type type in assembly.GetTypes())
                {
                    if (type.Name.Equals(typeName))
                    {                    if (type.GetInterface("你的接口名") != null )
                        {
                            if (type.GetType() != null)
                            {
                                return type;
                            }
                        }
                    }
                }
                return null;
            }
      

  2.   

    如果实现了。应该是GetInterface()返回的是非空值
      

  3.   

    如果对一个类型判断是否继承了某个接口,就用Type.GetInterface 就行.
    如果对一个实例判断直接按如下操作就行了:
    A a = this as A;
    if (a != null)
    {
    }
      

  4.   

    YourType type = YourVariable as A;
    if( type == null )
    {
        //未實現
    }