带有强制转换异常的C#.NET 4.0泛型协方差问题
我一直在争取这个,所以任何帮助将不胜感激。这是我在C#.NET 4.0上遇到的场景。
public interface ITableBusinessLogicLayerIn<in TTableRecord> : IBusinessLogicLayer
where TTableRecord : ITableRecord
{
// No definition
}
public interface ITableBusinessLogicLayerOut<out TTableRecord> : IBusinessLogicLayer
where TTableRecord : ITableRecord
{
// No definition
}
我有一个实现两个接口的对象。代码编译好。但是在运行时,我可以按如下方式转换此对象:
(ITableBusinessLogicLayerOut<ITableRecord>)obj
但不是这样的:
(ITableBusinessLogicLayerIn<ITableRecord>)obj
这非常混乱,我不确定我做错了什么。有人请指出我正确的方向。谢谢!
没有找到相关结果
已邀请:
1 个回复
贸会
您可以将
分配给
,但不能反过来。您可以将
指定给
,但不能指定相反。