Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Adding Properties to an object at run time
Message
De
03/02/2011 15:18:10
 
 
À
03/02/2011 13:08:22
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Versions des environnements
Environment:
C# 3.0
Divers
Thread ID:
01498603
Message ID:
01498643
Vues:
34
>Hi,
>
>I have an EntityList with the following "fields" App_item, App_Type and App_Value.
>
>It contains things like:
>
>"PremiumReminderDays", "I", "10"
>"LapseDays", "I", "5"
>"CompanyName", "C", "Samaan Systems Ltd."
>
>I have an AppInfo object that I want to add properties to from this list so I end up with properties like this:
>
>AppInfo.PremiumReminderDays = 10
>AppInfo.LapseDays = 10
>AppInfo.CompanyName = "Samaan Systems Ltd."
>
>How do I do this in C#?

Thinking about it you could make my second suggestion from the previous post more 'user-friendly' but using an indexer:
   public class LooseProperties
    {
        public Dictionary<string, object> Properties { get; set; }
        public LooseProperties() { Properties = new Dictionary<string, object>(); }

        public object this[string property]
        {
            get
            {
                if (Properties.ContainsKey(property))
                    return Properties[property];
                else
                    return null;
            }
            set
            {
                if (!Properties.ContainsKey(property))
                    Properties.Add(property, null);
                Properties[property] = value;
            }
        }
    }
then just:
lp["CompanyName"] = "Samaan Systems Ltd";
lp["PremiumReminderDays"] = 10;
//etc
string company = (string)lp["CompanyName"];
int days = (int) lp["PremiumReminderDays"];
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform