-- 作者:admin
-- 发布时间:11/9/2004 2:26:00 AM
-- C#,如何遍历类对象(转载)
发信人: Nineteen (-_-#!), 信区: DotNET 标 题: C#,如何遍历类对象(转载) 发信站: BBS 水木清华站 (Fri Dec 5 09:59:12 2003), 转信 C#,如何遍历类对象 Key: C#,遍历类对象. Author: ArLi @ http://www.zpcity.com/arli/ //本例是将类cls_language 里所有的internal string 型的变量全部换成 test: Type type_cls_language = typeof(cls_language); // 假设类名 cls_language cls_language objTmp = new cls_language(); // 设置为只获得 非public 并且 为静态的所有字段(也就是变量) FieldInfo[] fdInfo = type_cls_language.GetFields(BindingFlags.NonPublic | BindingFlags.Static); for(int i = 0; i < fdInfo.Length; i++) { // 如果字段是string 型,并且是 internal 以上级别,并且不是const,并且不是 readonly if (fdInfo[i].FieldType != typeof(string) || ! fdInfo[i].IsAssembly || fdInfo[i].IsLiteral || fdInfo[i].IsInitOnly) continue; // 先获取名称 string obj_name = fdInfo[i].Name; // 要替换的值 string fd_Text = "test"; // 替换它 fdInfo[i].SetValue(objTmp, fd_Text); // 本例只是替换字段(GetFields),还有GetMethods、GetProperties 等等可以替换方法、属性(也就是访问器),用法和上面一样。 2003.9.10 -- ——长夜漫漫,无心睡眠……难道狼妹妹也睡不着吗? ※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.206.3.3] 上一篇 返回上一页 回到目录 回到页首
|