相关疑难解决方法(0)

t4mvc:无法继承没有默认构造函数的控制器类?

我正在使用T4MVC和MVC2.

我有以下构建基块:

  1. 一个简单的实体接口,定义每个POCO实体必须具有long Id属性:

    public interface IEntity
    {
        public long Id;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 一个简单的POCO类,它实现了IEntity接口并具有一些字符串属性:

    public class CD : IEntity
    {
        public long Id { get; set; }
    
        public long Name { get; set; }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 基础控制器:

    public abstract class EntityController<T> : Controller where T : class, global::IEntity
    {
        public EntityController(IEntityManager<T> manager);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我在my中使用这个基本控制器CDController(其中CDManager实现了IEntityManager接口,这是一个UnitOfWork模式来添加CRUD功能):

    public partial class CDController : EntityController<CD>
    {
        public CDController() : base(new CDManager()) { }
    }
    
    Run Code Online (Sandbox Code Playgroud)

当我运行我的t4模板时,会生成以下代码:

namespace MyApp.Web.Controllers …
Run Code Online (Sandbox Code Playgroud)

constructor controller t4mvc

9
推荐指数
2
解决办法
1717
查看次数

标签 统计

constructor ×1

controller ×1

t4mvc ×1