Mat*_*att 10 c# resharper visual-studio-2010
背景
我在VS 2010,.NET 4,C#中编写代码.此外,如果重要,我使用的是最新版本的ReSharper.
题
假设我有这个模型:
public class SomeObject
{
public string Red{ get; set; }
public string Green{ get; set; }
public string Blue{ get; set; }
public string Yellow{ get; set; }
public string Purple{ get; set; }
public string Orange{ get; set; }
public string Black{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在代码的其他地方,我需要实例化其中一个对象,如下所示:
SomeObject myObject = new SomeObject{
red = "some value",
blue = "some other value",
. . .,
black="last value"
};
Run Code Online (Sandbox Code Playgroud)
*注意:*我有时希望仅使用其总可能属性的一部分(即红色和蓝色)初始化此对象.
目前,我必须为每个新实例输入每个属性(红色,蓝色,绿色等)SomeObject.在VS2010中是否有热键或某些东西预先填充了这些属性,所以我只需要为每个属性分配值而不是键入每个属性?
您可以使用智能代码完成.
写:new SomeObject {
然后按Ctrl + Alt + Space: - >工具提示窗口中列出了所有可能的属性
然后选择一个属性(即'Red')并按ENTER - > new SomeObject {Red =}
然后输入","再按一次Ctrl + Alt + Space,选择下一个属性,依此类推.
目前,我必须为 SomeObject 的每个新实例输入每个属性(红色、蓝色、绿色等)。
就个人而言,如果您需要为每个对象实例设置这些,我将通过添加一个采用所有参数的构造函数来处理这个问题,而不是使用对象初始化语法。这将为您提供完整的智能感知,但也帮助/强制您每次都正确构造对象。
请记住,类型的构造函数应强制您提供将对象正确初始化为正确状态所需的所有参数。对象初始值设定项的一个缺点是它们不会在编译时强制执行此操作。因此,如果每个对象实例都需要所有这些属性,则构造函数应提供它们,而不是使用对象初始值设定项。
| 归档时间: |
|
| 查看次数: |
7325 次 |
| 最近记录: |