Йонас: Я не думаю, что это тоже сработает. Вы можете сделать следующее:

ои определения классов:

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

Теперь я получаю объект от делегата и хочу его привести, и он не работает так, как я ожидаю.

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

obj имеет типEntityCollectionProxy<AbstractContactEntity>.

Ноcol нулевой. Если я попробую обычное приведение (var col =(Entity...) obj) Я получаю исключение.

Я ожидаю, что это сработает, поскольку типы являются связными. Что мне не хватает?

Ответы на вопрос(1)

Ваш ответ на вопрос