我在.NET 3.5中尝试了以下代码,但注释中显示的行出现了异常:

Cannot convert type 'TUnpaid' to 'ClassLibrary1.Unpaid'

如何在.NET 3.5中解决此问题?

namespace ClassLibrary1
{
    public class EntityBase
    {
        public virtual void Save<T>(T dok) where T : EntityBase, new()
        {
        }
    }

    public class Unpaid : EntityBase
    {
        public override void Save<TUnpaid>(TUnpaid dok)
        {
            // Cannot convert type 'TUnpaid' to 'ClassLibrary1.Unpaid'
            var kup = (Unpaid)dok;
        }
    }
}

最佳答案

您应该编写operator of type conversion,或者编写建立connections between two types的方法(或类)。

在您的代码示例中,您使用了两种不同的类型(TUnpaidUnpaid),它们之间没有连接。

10-08 01:38