C# 如何正确计算.GetType().IsInstanceOfType(typeof(Interface<;))
如何使下面的代码返回C# 如何正确计算.GetType().IsInstanceOfType(typeof(Interface<;)),c#,C#,如何使下面的代码返回true handler变量定义为一个对象,用于模拟实际环境 我已经读过了 void Main() { 对象处理程序=新建TestIntegrationEventHandler(); 类型eventType=typeof(TestIntegrationEvent); 类型concreteType=typeof(IIintegrationEventHandler)。MakeGenericType(eventType); WriteLine(handler.GetType().I
true
handler
变量定义为一个对象
,用于模拟实际环境void Main()
{
对象处理程序=新建TestIntegrationEventHandler();
类型eventType=typeof(TestIntegrationEvent);
类型concreteType=typeof(IIintegrationEventHandler)。MakeGenericType(eventType);
WriteLine(handler.GetType().IsInstanceOfType(concreteType));
}
公共类TestIntegrationEvent:IntegrationEvent
{
}
公共类集成事件
{
}
公开类测试集成文坦德勒:i集成文坦德勒
{
公共异步任务句柄(TestIntegrationEvent@event)
{
}
}
公共接口IIintegrationEventHandler:IIintegrationEventHandler,其中TIntegrationEvent:IntegrationEvent
{
任务句柄(TIntegrationEvent@event);
}
公共接口集成Venthandler
{
}
相反
private static void Main()
{
object handler = new TestIntegrationEventHandler();
Type eventType = typeof(TestIntegrationEvent);
Type concreteType = typeof(IIntegrationEventHandler<>).MakeGenericType(eventType);
Console.WriteLine(concreteType.IsInstanceOfType(handler));
Console.ReadLine();
}
private static void Main()
{
对象处理程序=新建TestIntegrationEventHandler();
类型eventType=typeof(TestIntegrationEvent);
类型concreteType=typeof(IIintegrationEventHandler)。MakeGenericType(eventType);
WriteLine(concreteType.IsInstanceOfType(handler));
Console.ReadLine();
}
从forIsInstanceOfType
:
确定指定对象是否为当前类型的实例
因此,您询问
IIntegrationEventHandler
是否是TestIntegrationEventHandler
类型的实例,这当然是错误的。虽然我真的认为方法的名称没有多大帮助 相反
private static void Main()
{
object handler = new TestIntegrationEventHandler();
Type eventType = typeof(TestIntegrationEvent);
Type concreteType = typeof(IIntegrationEventHandler<>).MakeGenericType(eventType);
Console.WriteLine(concreteType.IsInstanceOfType(handler));
Console.ReadLine();
}
private static void Main()
{
对象处理程序=新建TestIntegrationEventHandler();
类型eventType=typeof(TestIntegrationEvent);
类型concreteType=typeof(IIintegrationEventHandler)。MakeGenericType(eventType);
WriteLine(concreteType.IsInstanceOfType(handler));
Console.ReadLine();
}
从forIsInstanceOfType
:
确定指定对象是否为当前类型的实例
因此,您询问IIntegrationEventHandler
是否是TestIntegrationEventHandler
类型的实例,这当然是错误的。虽然我真的认为方法的名称没有多大帮助