Activator.CreateInstance 找不到构造函数
Activator.CreateInstance can't find the constructor
我在 BaseRenderModel<TBaseEntity>
class 中收到一个错误 Constructor on type 'Jahan.Nuts.Model.UModel.HomePage' not found.
我仔细检查了代码并在互联网上阅读了一些解决方案,但我无法解决我的问题。
我在我的项目中使用了 Umbraco 7.3 (ASP.NET MVC)
我该如何解决这个问题?
namespace Jahan.Nuts.Model.UModel.URenderModel
{
public class BaseRenderModel<TBaseEntity> : RenderModel where TBaseEntity : BaseEntity
{
public TBaseEntity Model { get; set; }
public BaseRenderModel(IPublishedContent content, CultureInfo culture) : base(content, culture)
{
object args = new object[] { content, culture };
Model = (TBaseEntity)Activator.CreateInstance(typeof(TBaseEntity), args); //Constructor on type 'Jahan.Nuts.Model.UModel.HomePage' not found.
}
}
}
Class 基础实体:
public class BaseEntity
{
public BaseEntity()
{
}
public BaseEntity(IPublishedContent content, CultureInfo culture)
{
// some codes
}
public BaseEntity(IPublishedContent content)
{
// some codes
}
}
Class 主页:
public class HomePage : BaseEntity
{
public List<Photo> PhotoList { get; set; }
public HomePage(IPublishedContent content, CultureInfo culture) : base(content, culture)
{
Initialize(content, culture);
}
public HomePage(IPublishedContent content) : base(content)
{
Initialize(content, null);
}
protected HomePage()
{
}
}
Class 主页控制器:
public class HomePageController : RenderMvcController
{
public override ActionResult Index(RenderModel model)
{
BaseRenderModel<HomePage> instance = new BaseRenderModel<HomePage>(model.Content, model.CurrentCulture);
return base.Index(instance);
}
}
这一行有错误:
object args = new object[] { content, culture };
当您将它传递给 Activator.CreateInstance
时,它正在寻找一个带有一个 object[]
参数的构造函数。您需要 args 成为 object[]
.
object[] args = new object[] { content, culture };
我在 BaseRenderModel<TBaseEntity>
class 中收到一个错误 Constructor on type 'Jahan.Nuts.Model.UModel.HomePage' not found.
我仔细检查了代码并在互联网上阅读了一些解决方案,但我无法解决我的问题。 我在我的项目中使用了 Umbraco 7.3 (ASP.NET MVC)
我该如何解决这个问题?
namespace Jahan.Nuts.Model.UModel.URenderModel
{
public class BaseRenderModel<TBaseEntity> : RenderModel where TBaseEntity : BaseEntity
{
public TBaseEntity Model { get; set; }
public BaseRenderModel(IPublishedContent content, CultureInfo culture) : base(content, culture)
{
object args = new object[] { content, culture };
Model = (TBaseEntity)Activator.CreateInstance(typeof(TBaseEntity), args); //Constructor on type 'Jahan.Nuts.Model.UModel.HomePage' not found.
}
}
}
Class 基础实体:
public class BaseEntity
{
public BaseEntity()
{
}
public BaseEntity(IPublishedContent content, CultureInfo culture)
{
// some codes
}
public BaseEntity(IPublishedContent content)
{
// some codes
}
}
Class 主页:
public class HomePage : BaseEntity
{
public List<Photo> PhotoList { get; set; }
public HomePage(IPublishedContent content, CultureInfo culture) : base(content, culture)
{
Initialize(content, culture);
}
public HomePage(IPublishedContent content) : base(content)
{
Initialize(content, null);
}
protected HomePage()
{
}
}
Class 主页控制器:
public class HomePageController : RenderMvcController
{
public override ActionResult Index(RenderModel model)
{
BaseRenderModel<HomePage> instance = new BaseRenderModel<HomePage>(model.Content, model.CurrentCulture);
return base.Index(instance);
}
}
这一行有错误:
object args = new object[] { content, culture };
当您将它传递给 Activator.CreateInstance
时,它正在寻找一个带有一个 object[]
参数的构造函数。您需要 args 成为 object[]
.
object[] args = new object[] { content, culture };