/ Published in: C#
                    
                                        
I frequently need to create a struct to be displayed in an app. The DescriptionAttribute is used to display a member's description.
Room for improvement:
* nested structs/enums
* Implement a TreeViewAble Interface
                Room for improvement:
* nested structs/enums
* Implement a TreeViewAble Interface
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
private struct TestStruct
{
#region Members to be display
[DescriptionAttribute("an integer")]
public int i;
[DescriptionAttribute("a bool")]
public bool b;
// no DescriptionAttribute
public bool b2;
#endregion
// Example usage: myStruct.Render(treeView1.Nodes);
public void Render(TreeNodeCollection arg)
{
{
DescriptionAttribute[] attributes = (DescriptionAttribute[])field.GetCustomAttributes(typeof(DescriptionAttribute), false);
string description = attributes.Length>0 ? attributes[0].Description : field.ToString();
//AttributeCollection attributes = TypeDescriptor.GetProperties(field)[field.Name].Attributes;
//DescriptionAttribute myAttribute = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];
// Show something like "My integer, 123 (Int32, i)"
string s = string.Format("{0}, {1} ({2}, {3})",
description, // DescriptionAttribute
field.GetValue(this), // value of
field.FieldType.Name,
field.Name // name of structure member
);
arg.Add(s);
}
}
};
Comments
 Subscribe to comments
                    Subscribe to comments
                
                