C# Activator.CreateInstance可以';我找不到构造函数
我在C# Activator.CreateInstance可以';我找不到构造函数,c#,asp.net-mvc,reflection,umbraco,C#,Asp.net Mvc,Reflection,Umbraco,我在BaseRenderModel类中发现一个错误,该类表示未找到类型“Jahan.Nuts.Model.UModel.HomePage”上的构造函数。 我仔细检查了代码,并在网上阅读了一些解决方案,但我无法解决我的问题。 我在我的项目中使用了Umbraco 7.3(ASP.NET MVC) 我怎样才能解决这个问题 namespace Jahan.Nuts.Model.UModel.URenderModel { public class BaseRenderModel<TBaseEntit
BaseRenderModel
类中发现一个错误,该类表示未找到类型“Jahan.Nuts.Model.UModel.HomePage”上的构造函数。
我仔细检查了代码,并在网上阅读了一些解决方案,但我无法解决我的问题。
我在我的项目中使用了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.
}
}
}
班级主页:
public class BaseEntity
{
public BaseEntity()
{
}
public BaseEntity(IPublishedContent content, CultureInfo culture)
{
// some codes
}
public BaseEntity(IPublishedContent content)
{
// some codes
}
}
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()
{
}
}
public class HomePageController : RenderMvcController
{
public override ActionResult Index(RenderModel model)
{
BaseRenderModel<HomePage> instance = new BaseRenderModel<HomePage>(model.Content, model.CurrentCulture);
return base.Index(instance);
}
}
公共类主页:BaseEntity
{
公共列表照片列表{get;set;}
公共主页(IPPublishedContent内容,文化信息文化):基础(内容,文化)
{
初始化(内容、文化);
}
公共主页(IPPublishedContent内容):基础(内容)
{
初始化(内容,空);
}
受保护的网页()
{
}
}
类主页控制器:
public class BaseEntity
{
public BaseEntity()
{
}
public BaseEntity(IPublishedContent content, CultureInfo culture)
{
// some codes
}
public BaseEntity(IPublishedContent content)
{
// some codes
}
}
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()
{
}
}
public class HomePageController : RenderMvcController
{
public override ActionResult Index(RenderModel model)
{
BaseRenderModel<HomePage> instance = new BaseRenderModel<HomePage>(model.Content, model.CurrentCulture);
return base.Index(instance);
}
}
公共类HomePageController:RenderMvcController
{
公共覆盖操作结果索引(RenderModel模型)
{
BaseRenderModel实例=新的BaseRenderModel(model.Content,model.CurrentCulture);
返回base.Index(实例);
}
}
此行有一个错误:
object args = new object[] { content, culture };
当您将它传递给Activator.CreateInstance
时,它正在寻找一个接受一个object[]
参数的构造函数。您需要args成为对象[]
object[] args = new object[] { content, culture };
此行中有一个错误:
object args = new object[] { content, culture };
当您将它传递给Activator.CreateInstance
时,它正在寻找一个接受一个object[]
参数的构造函数。您需要args成为对象[]
object[] args = new object[] { content, culture };
此行中有一个错误:
object args = new object[] { content, culture };
当您将它传递给Activator.CreateInstance
时,它正在寻找一个接受一个object[]
参数的构造函数。您需要args成为对象[]
object[] args = new object[] { content, culture };
此行中有一个错误:
object args = new object[] { content, culture };
当您将它传递给Activator.CreateInstance
时,它正在寻找一个接受一个object[]
参数的构造函数。您需要args成为对象[]
object[] args = new object[] { content, culture };
主页可能需要一个具有匹配签名的构造函数:public-BaseEntity(ippublishedcontent-content,CultureInfo-culture);我添加了班级主页。你可以看到。我认为这是对的。可能主页需要一个具有匹配签名的构造函数:public-BaseEntity(ippublishedcontent-content-content,CultureInfo-culture);我添加了班级主页。你可以看到。我认为这是对的。可能主页需要一个具有匹配签名的构造函数:public-BaseEntity(ippublishedcontent-content-content,CultureInfo-culture);我添加了班级主页。你可以看到。我认为这是对的。可能主页需要一个具有匹配签名的构造函数:public-BaseEntity(ippublishedcontent-content-content,CultureInfo-culture);我添加了班级主页。你可以看到。我认为这是对的。