首先在代码中子类化泛型类

本文关键字:子类 泛型类 代码 | 更新日期: 2023-09-27 18:13:02

在一个MVC应用程序,我想添加错误和信息消息到我的领域模型,但有他们不坚持到数据库。

目前我有从EntityTypeConfiguration继承的映射类,像下面的例子:

public class ComputerMap : EntityTypeConfiguration<Computer>

所以我计划创建一个从EntityTypeConfiguration继承的泛型类,这样我就可以向所有派生类添加Ignore()声明。比如:

protected class MessagableConfiguration<T> : EntityTypeConfiguration<T>
{
    public MessagableConfiguration()
    {
        Ignore(t => Errors);
        Ignore(t => Info);
    }
}

然后像这样继承messagablecconfiguration:

public class ComputerMap : MessagableConfiguration<Computer>

我不确定如何声明MessagableConfiguration。我试过了:

public class MessagableConfiguration<Messagable> : EntityTypeConfiguration<Messagable>;

. .这里描述的是……但是智能感知告诉我"参数Messagable隐藏类Messagable"

顺便说一句,Messagable是computer和其他类派生的基类。

什么是正确的语法,或者我做错了什么。有没有更好的办法?

首先在代码中子类化泛型类

您可以使用类型约束像下面这样写:

public class MessagableConfiguration<T> :EntityTypeConfiguration<T> where T: Messagable