public EccmFieldGenreAttribute(EccmFieldGenreType genre) { myGenre = genre; }
// �W���������ƂɃR���g���[����擾���܂��B private XmlNode GetControls(string genreName, EccmFieldGenreType genre) { XmlDocumentFragment result = myXhtml.CreateDocumentFragment(); Type t = myProject.Setting.GetType(); PropertyInfo[] fields = t.GetProperties(); XmlElement ul = myXhtml.Create("ul"); int propCount = 0; foreach(PropertyInfo pi in fields){ EccmDescriptionAttribute descAttr = null; EccmEditableAttribute editAttr = null; EccmFieldGenreAttribute genreAttr = null; Object[] attrs = pi.GetCustomAttributes(false); foreach(Object o in attrs){ if(o is EccmDescriptionAttribute){ descAttr = o as EccmDescriptionAttribute; } else if(o is EccmEditableAttribute){ editAttr = o as EccmEditableAttribute; } else if(o is EccmFieldGenreAttribute){ genreAttr = o as EccmFieldGenreAttribute; } } if(descAttr == null || genreAttr == null || genreAttr.Genre != genre) continue; ul.AppendChild(GetControl(pi, descAttr, editAttr)); propCount++; } if(propCount == 0) return result; XmlElement h = myXhtml.H(2, null, genreName); result.AppendChild(h); result.AppendChild(ul); return result; }