我有一个方法可以接受许多不同类型的对象进行存储:
public void Store<T>(T item)
{
// works fine
if (item is Foo)
{
// ...
}
// works fine
else if (item is Observation<ImageSignal>)
{
// ...
}
// isn't detected
else if (item is Observation<Signal<ISpectrum>>)
{
// ...
}
else
{
// Observation<Signal<ISpectrum>> always hits this.
throw new NotSupportedException();
}
}
谁能告诉我如何检测到这一点?
编辑: 我实际上是在传递一个包装这个对象的对象。埃里克是对的。问题解决了。不过,感谢您的快速回复。