如何遍历类的所有属性?

eto*_*bot 2 c#

有没有办法循环遍历类的构造函数中的所有属性,所以我可以设置所有的默认值,而不是像列出每个属性一样

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)

Ree*_*sey 6

你可以用Reflection(通过Type.GetPropertiesPropertyInfo.SetValue)来做到这一点,但我不推荐它.它会降低可读性和可维护性,并会对性能产生负面影响.

列出属性并定义其初始值的优点是,您可以在构造函数中预先看到它.或者,您可以为属性提供支持字段,并在字段上内联定义它们.