4

System.Web.Profile.ProfileBase を継承する C# でカスタム プロファイル クラスを実装しようとしています。デフォルトの XML ではなく、バイナリとしてシリアル化する必要がある System.Collections.Generic.List 型のプロパティがいくつかあります。ただし、 Profile クラスでその設定をマークする方法がわかりません。

たとえば、リスト型の「SavedReports」という名前のプロパティがあります。web.config アプローチを使用する場合は、次のように記述します。

<code>
<profile>
 <providers>
  <add name="SavedReports" serializeAs="Binary" type="System.Collections.Generic.List`1[MyNamespace.SavedReports]"/>
<code>

ただし、カスタム実装のために C# で serializeAs="Binary" 属性を追加する方法がわかりません。

[SettingsAllowAnonymous(false)]

    public List<SavedReport> SavedReports
    {
        get { return base["SavedReports"] as List<SavedReport>; }
        set { base["SavedReport"] = value; }
    }

どんな助けでも素晴らしいでしょう。

ありがとう、クリス

4

1 に答える 1

5

私はこれを見つけました:

SettingsSerializeAsAttribute

SettingsSerializeAsAttribute を使用すると、特定のアプリケーション設定クラスまたはプロパティに使用するシリアル化メカニズムを指定できます。この属性は、設定プロバイダーへの要求と見なされます。プロバイダーまたは個々のプロパティ タイプが指定されたシリアル化スキームをサポートしていない場合は、無視されるか、エラーが発生する可能性があります。この属性が存在しない場合、プロバイダーは通常、既定のシリアル化メカニズムを提供しますが、最も一般的なのはプレーン テキストです。

于 2009-05-26T19:57:57.840 に答える