J'ai les classes suivantesObtenez le type de paramètre générique
public interface InterfaceBase
{
}
public class ImplementA:InterfaceBase
{
}
public class ImplementB:InterfaceBase
{
}
public void TestImplementType<T>(T obj) where T: InterfaceBase
{
}
Comment déduire ce que le T est de savoir si ou Implementa ImplementB? J'ai essayé d'utiliser
typeof(T) is ImplementA
mais cette expression est toujours évaluée à false. Edit: Et comment vais-je lancer Obj dans ImplémentA ou ImplémentB?
Encore une fois, cela ne dit pas que T dérive de Implementa - il ne parle ab sur la valeur particulière de obj. TestImplementType (new ImplémentA()) passera quand (selon la question réelle) il ne devrait pas. –