5

我的 web.config 中有配置文件提供程序

    <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>

如何获取包含所有可用属性的字符串 [] 数组(CustomField1、CustomField2 ....)

编辑: 找到可行的解决方案,但不确定它是否是最好和最简单的解决方案。

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

1 回答 1

9

我会同意的:

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

您必须同时导入 System.Web.Profile 和 System.Configuration 命名空间。

于 2011-04-03T14:47:13.873 回答