有没有办法循环遍历类的构造函数中的所有属性,所以我可以设置所有的默认值,而不是像列出每个属性一样
this.prop1 = "?";
//repeat for each prop
Run Code Online (Sandbox Code Playgroud)
例如:
public class thisClass()
{
library()
{
foreach (property as p in thisClass)
{
p.value = "?";
}
}
public string prop1 {get; set;}
public string prop2 {get; set;}
etc.
}
Run Code Online (Sandbox Code Playgroud)
你可以用Reflection(通过Type.GetProperties和PropertyInfo.SetValue)来做到这一点,但我不推荐它.它会降低可读性和可维护性,并会对性能产生负面影响.
列出属性并定义其初始值的优点是,您可以在构造函数中预先看到它.或者,您可以为属性提供支持字段,并在字段上内联定义它们.