【发布时间】:2011-01-24 11:34:35
【问题描述】:
我需要添加一个 IVehicle 类型的项目,该项目在运行时从构造函数注入到 for 循环。
IVehicle vehicle;
for (int i=0;i<=someValue;i++)
{
list.insert(i,vehicle);
//some processing to assign values
}
现在因为此时 Ivehicle 已经注入,我的列表具有相同的值,尽管视图上的值不同并且来自控制器。我怎样才能每次都新建这个对象
编辑
每次我发现新对象的最佳方法是从注入它的内核请求新对象。如前所述,我正在使用 Ninject。
我所做的只是使用创建一个 IKernel 类型的变量并让构造函数注入它,然后我使用 kernel.Get() 来获取一个新实例。不知道这是否是最好的方法,因为我的构造函数真的很贪婪。 :)
私有IKernel_kernel;
在构造函数中注入这个,不需要做任何绑定,因为 Ninject 已经知道了。
然后你可以使用 _kernel 来获取新的,通过使用 _kernel.Get()。
希望这对某人有所帮助..
【问题讨论】:
-
考虑更详细地描述您的问题。你想添加一些价值乘以一辆车还是什么?
标签: c# object ninject new-operator