首页 新闻 搜索 专区 学院

反射动态 给mvc 控制器中的字段 实例一个BLL 对象

0
悬赏园豆:10 [待解决问题]

控制器代码:

namespace WebApi.Controllers
{

public class HomeController : Controller
{
private DataBllTest Service = new DataBllTest();


public ActionResult Index()
{


return View();
}
}

}

 

BLL 代码:

namespace Bll
{
public class DataBllTest
{

public DataTable GetUser()
{
DataTest dal = new DataTest();
return dal.GetUser();

}

public DataTable GetUserList() {
DataTest dal = new DataTest();
return dal.GetUser();
}
}
}

 

反射代码:

Type ty1 = typeof(WebApi.Controllers.HomeController);
ConstructorInfo tbci = ty1.GetConstructor(Type.EmptyTypes);
object testb = tbci.Invoke(new object[0]);
Type ta = typeof(Bll.DataBllTest);
ConstructorInfo taci = ta.GetConstructor(Type.EmptyTypes);
object testa = taci.Invoke(new object[0]);

FieldInfo tbfi = ty1.GetField("Service", BindingFlags.NonPublic | BindingFlags.Instance);
tbfi.SetValue(testb, testa);

问题: 

  程序开始运行的时候 执行反射代码  现在Service 字段实例化了对象。

   但是当程序运行到 HomeController Service 字段是null  

  我想要的是 Service  经过反射实例化对象 在HomeController 直接就能调用

hz_小超的主页 hz_小超 | 初学一级 | 园豆:192
提问于:2017-03-21 16:07
< >
分享
所有回答(1)
0

bu不是ioc吗.干嘛自己弄这些事儿直接用ioc容器注册到mvc框架里就好了

吴瑞祥 | 园豆:28841 (高人七级) | 2017-03-21 17:21

 项目中要用类似的一个东西,自己不太明白

支持(0) 反对(0) hz_小超 | 园豆:192 (初学一级) | 2017-04-07 15:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册