Click here to Skip to main content
Click here to Skip to main content

Looping through Object's properties in C#

By , 6 Jun 2011
Rate this:
Please Sign up or sign in to vote.

Have you ever tried to make a dynamic test page? To build and HTML element contains all the properties of a specific .Net object?

Well, I encountered this problem couple of days ago and while searching Google I barely found good matches.  So I decided that for my sake, and yours, I will simply post a short explanation about how to do it, followed by a quick and simple example of how to loop though object properties in C#.

First I'll provide a short explanation about Reflection:
Reflection enables you to discover an object's properties, methods, events and properties values at run-time.  Reflection can give you a full mapping of an object (well, it's public data).

In order to use reflection, and to loop through the object's properties, we'll first have to import the namespace:

using System.Reflection;

Now, lets say I have an object called User and this object has 2 public properties:

  1. UserID.
  2. Name.
My code will look something like this:
int testID = 123456; 
User usr = new User(testID); // this is constructor to get user by ID
StringBuilder sb = new StringBuilder();

PropertyInfo[] properties = user.GetType().GetProperties();
foreach (PropertyInfo pi in properties)
{
    sb.Append(
        string.Format("Name: {0} | Value: {1}", 
                pi.Name, 
                pi.GetValue(user, null)
            ) 
    );
}
divResults.InnerText = sb.ToString();

This little piece of code will fill your HTML element with the properties names and values.

Have Fun,
Elad,

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

DevAffair
Team Leader Sports Betting Tech
Israel Israel
No Biography provided
Follow on   Twitter

Comments and Discussions

 
GeneralMy vote of 3 PinmemberDiamonddrake25-Feb-13 19:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140415.2 | Last Updated 6 Jun 2011
Article Copyright 2011 by DevAffair
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid