我有一个包含大约500个String成员的类,我想通过将它们设置为String.Empty来“重置”它们。谁能告诉我如何使用反射来做到这一点,以便我可以遍历每个String成员?

谢谢

最佳答案

foreach (PropertyInfo pi in MyObj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic ).ToArray() )
            {
                if (pi.PropertyType == typeof(string))
                {
                    pi.SetValue(MyObj, string.Empty, null);
                }
            }


田间使用

foreach (FieldInfo fi in MyObj.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic ).ToArray() )
            {
                if (fi.FieldType == typeof(string))
                {
                    fi.SetValue(MyObj, string.Empty);
                }
            }

10-07 19:40
查看更多