2011-04-03 1 views
5

j'ai fournisseur profil dans mon web.configC# Recevoir les annonces de SettingsPropertyCollection

<profile defaultProvider="MyProvider"> 
     <providers> 
....... 
     <properties> 
     <add name="CustomField1" type="string" /> 
     <add name="CustomField2" type="string" /> 
     <add name="CustomField3" type="string" /> 
     <add name="CustomField4" type="string" /> 
     </properties> 
    </profile> 

Comment puis-je obtenir chaîne tableau [] contenant toutes les propriétés avaliable (CustomField1, CustomField2 ....)

Edit: Trouvé solution de travail, mais pas sûr si c'est le meilleur et le plus facile.

var allCustomProperties = 
        profile.GetType().GetProperties().Where(l => l.PropertyType.Name == "String" && l.CanWrite == true).Select(
         l => l.Name).ToArray(); 

Répondre

8

je partirais avec qui:

string[] props = ProfileBase.Properties.Cast<SettingsProperty>() 
      .Select(p => p.Name).ToArray(); 

Vous devez importer les deux System.Web.Profile et namespaces System.Configuration.

+0

Vous avez raison. Cela fonctionne –

+0

Cela fonctionne un régal. Merci!! –

Questions connexes