是否有可能以任何方式清理以下代码?
这是我在代码中使用的:
var _index = new IndexViewModel();
_index.PageMeta = new PageMeta();
_index.Que = new Q();
_Index.Test = new T();
这是我的类定义:
public class IndexViewModel {
public PageMeta PageMeta { get; set; }
public T Test { get; set; }
public Q Que { get; set; }
}
我试图记住在声明新类时是否有捷径。我可以在 IndexViewModel 的构造函数中添加一些东西吗?
最佳答案
好吧,你可以使用一个对象初始化器:
var _index = new IndexViewModel
{
PageMeta = new PageMeta(),
Que = new Q(),
Test = new T()
};
这可能不是什么捷径,但确实为您节省了一些重复代码。
编辑以澄清评论中的问题
public class IndexViewModel {
// The default constructor now initializes de values:
public IndexViewModel()
{
PageMeta = new PageMeta();
Q = new Q();
T = new T();
}
public PageMeta PageMeta { get; set; }
public T Test { get; set; }
public Q Que { get; set; }
}
如果将初始化添加到构造函数中,则不再需要使用对象初始化器:
var _index = new IndexViewModel(); //<- initialized by its own constructor
关于c# - 在 C# 中创建新类时的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530870/