我有Func<>
具有泛型類作爲輸入參數。問題是如何將其轉換爲類似的Func,但是具有派生自前一個參數的類?現在下面的代碼在fu2中給我null。Func與通用類參數和鑄造
var fu = new Func<Envelope<Base>, object>(Simple);
var fu2 = fu as Func<Envelope<Derived>, object>;
public class Envelope<T>
{
public T Enveloped { get; set; }
}
public class Base
{
}
public class Derived: Base
{
}
「FU2」似乎病命名,幸好C#編譯器有厚的皮膚。也就是說,你不能做你想做的事。 'Envelope'在任何意義上都不是'Envelope '的子類;這是一個無關的班級。 –