我是Ninject的新手,我有一个非常简单的要求,但我无法在Ninject的文档中找到我想要的东西。
我有一个这样的课程:
public class User
{
public string Name {get;set;}
...
public ICollection<Address> Addresses {get; protected set;}
}
public class Address
{
public string Street {get;set;}
...
}
因此,我的测试类设置需要实例化用户以在许多测试中使用。
[TestClass]
public class UserTest
{
User _myUser;
[TestInitialize]
public void Setup()
{
_myUser = new User();
_myUser.Addresses.Add(new Address { Street = "Evergreen" }); // <-- Here I need Addresses must be Instantiated as, lets say, List<T>
}
}
我需要的是_myUser.Addresses
将注入一个Collection实例。
我无法弄清楚如何使用Ninject完成此任务。你能指出我正确的方向吗?
答案 0 :(得分:1)
不应该为此需要Ninject。您可以在模型中执行类似的操作。
private ICollection<Address> _addresses;
public ICollection<Address> Addresses
{
get { return _addresses ?? (_addresses = new HashSet<Address>()); }
protected set { _addresses = value; }
}
这是我在模型中所做的事情,我宁愿默认使用空集合而不是空值。
答案 1 :(得分:0)
您需要的是“Property Setter Injection”和Ninject has a help page in its wiki以及示例。