私は次のクラスを持っています -
public abstract class BusinessObject { }
public abstract class Form: BusinessObject { }
public abstract class BillableForm: Form { }
public class MembershipForm: BillableForm { }
public abstract class Dto<T>: where T: BusinessObject { }
public abstract class InboxDto<T>: Dto<T> where T: Form { }
public class MembershipFormDto: InboxDto<MembershipForm> { }
そして、私は次の見解を持っています -
membershipform.cshtml:
@model AdminSite.Models.MembershipFormDto
@{
Layout = "~/Views/Inbox/Shared/_LayoutForm.cshtml"
}
_LayoutForm.cshtml:
@model InboxDto<Form>
Membershipform.cshtml ページにアクセスすると、次の例外が表示されます。
ディクショナリに渡されたモデル アイテムのタイプは「AdminSite.Models.MembershipFormDto」ですが、このディクショナリにはタイプ「AdminSite.Infrastructure.Models.InboxDto`1[BusinessLogic.Inbox.Form]」のモデル アイテムが必要です。
私が知る限り、 type のMembershipFormDto
IS-A 、IS-A . 何を与える?InboxDto
MembershipForm
MembershipForm
Form