我注意到我一直在这么做(主要是因为我的所有方法都是非静态的):
var person = new Person();
var addresses = person.GetAddresses();
很多时候我只需要在我的其他方法中调用该方法。我注意到我可以这样做:
var addresses = new Person().GetAddresses();
这样做有什么问题吗?对我来说打字好像少了很多。例如,如果我想加载带地址的模型,我可以这样做:
public ActionResult HelloWorld() {
var model = new MyModel { Addresses = new Person().GetAddresses() };
return View(model);
}
你们有什么想法?
顺便说一下,我的方法是非静态的,因为我正在使用存储库。我的班级设置如下:
private IMyRepository _myRepository = new MyRepository();
Person () {
// initialize properties
}
// Constructor for unit testing...
Person (IMyRepository repository) : this() {
_myRepository = repository;
}
public GetAddresses() {
return _myRepository.GetAddresses();
}
答案 0 :(得分:1)
这样做很好,它不会导致任何问题。虽然有一个课程立即被抛弃是有问题的。也许GetAddresses
应该是静态的?
但无论如何,这样做完全没问题。
答案 1 :(得分:0)
可以这样做, 但如果你想在创建一个人的对象后想要一些工作, 您可以在构造函数中创建一个事件并将其提升,然后在主类中的自己的事件args中拥有对象和一些自定义数据。 如果有用,我可以给你发送一个示例代码