A descoberta de um objeto usando a palavra-chave "as" retorna null

qui estão as minhas definições de classe

public abstract class AbstractEntity : ...
public partial class AbstractContactEntity : AbstractEntity, ...
public sealed class EntityCollectionProxy<T> : IList<T>, System.Collections.IList 
where T : AbstractEntity

gora, eu recebo um objeto de um delegado e quero convertê-lo, e ele não funciona como eu esperav

var obj = resolver.DynamicInvoke (this.entity);
var col = obj as EntityCollectionProxy<AbstractEntity>;

obj é do tipoEntityCollectionProxy<AbstractContactEntity>.

Mascol é nulo. Se eu tentar a transmissão regular (var col =(Entity...) obj) Eu recebo uma exceção.

Eu esperaria que funcionasse, pois os tipos são coerentes. Do que sinto falta?

questionAnswers(1)

yourAnswerToTheQuestion