我想遍历POCO的所有属性以及该属性值为null的任何地方。我想将其设置为空字符串。 POCO的所有属性均为字符串类型。
答案 0 :(得分:0)
您可以使用reflection解决它。
Reflection提供描述程序集的(类型为Type的)对象, 模块和类型。您可以使用反射来动态创建 类型的实例,将类型绑定到现有对象,或获取 从现有对象输入类型并调用其方法或访问其对象 字段和属性。
System.Reflection.PropertyInfo
发现属性的属性并提供对属性元数据的访问。您可以使用Type.GetProperties()
方法检索所有属性信息,并使用GetValue(object)
和SetValue(object, value)
处理值。
var record = new YourClass();
PropertyInfo[] properties = typeof(YourClass).GetProperties();
foreach (PropertyInfo property in properties)
{
if(property.PropertyType == typeof(string) && property.GetValue(record) == null)
property.SetValue(record, string.Empty);
}