The accompanying article shows you how to use attributes already defined in the .NET framework, as well as how to roll your own. To help you see how to do this, I've built a sample employing several custom attribute features. The goal is to create a generic data entry form. It will accept an object; then, based on the metadata in the type definition for that class (including custom attributes), the form will dynamically generate the appropriate input fields. So if the object contains a Name property, as an example, a field will be dynamically generated on the form for that property. 

The enclosed ZIP file attributetest contains the sample code in VB.NET, while the ZIP file attributetest_cs contains the same code done in C#.

