9

.NETプロジェクトでSettingsクラスを使用しています。エディタで、Settingsクラスの個々のプロパティのタイプとして使用できるのは特定のタイプのみであることに気付きました。たとえば、コードまたはジェネリックコレクションからの列挙型のプロパティが必要な場合はどうなりますか?それをどのように実装しますか?

部分クラスメカニズムを使用して別のファイルでそれを行うことができると思います(設定はすでに部分クラスとして定義されているため)が、誰かがそれに同意するかどうか、そしてそれを行う方法があるかどうかを確認したいと思います編集者。

4

5 に答える 5

11

新しい「設定」ファイルを作成して、複合型/ユーザー定義型の選択を追加します。Enum のハウツーを次に示します。

ステップ1。設定ファイルを作成する

代替テキスト

ステップ 2。タイプを参照

代替テキスト

ステップ 3。タイプを選択 (Namespace.TypeName)

代替テキスト

ステップ 4。Ta da - 完了

代替テキスト

于 2009-03-03T00:28:32.487 に答える
4

そのリストに表示するカスタムクラスを取得するには、その構築オプションの1つとしてデフォルトのコンストラクターがあることを確認してください。私はこれを難しい方法で学びました

于 2009-09-23T18:30:15.803 に答える
2

設定ファイルで汎用リストが可能かどうかについての Jeffrey のコメント/質問に答えるには、答えは「はい」です。設定 xml ファイルを手動で編集するだけです。たとえば、次のクラスがあるとします。

public class UrlAlias
{
    public string Name { get; set; }
    public string BaseUrl { get; set; }
}

これらのリストを作成するには、設定ファイルを右クリックして [プログラムから開く...] を選択します。

次に、XML / Text Editor を選択し、「Type」値を完全修飾クラス名に設定します。つまり、次のようになります。

Type="System.Collections.Generic.List`1[MyProject.SomeNamespace.UrlAlias]"

完全な設定 xml は次のようになります。

<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="MyProject.Properties" GeneratedClassName="Settings">
 <Profiles />
  <Settings>
    <Setting Name="UrlAliases" Type="System.Collections.Generic.List`1[CommonAddin.Data.DataSource.UrlAlias]" Scope="User">
      <Value Profile="(Default)"></Value>
    </Setting>
  </Settings>
</SettingsFile>

これを行うと、作成したカスタム設定オブジェクトの適切に構成されたリストが得られます。

于 2011-12-23T23:09:11.477 に答える
0

部分クラスの一部として別のファイルでそれを行うことは完全に受け入れられます。

于 2009-03-02T18:54:49.887 に答える
0

構成ファイルを介して複雑なオブジェクトを設定できるようにしたい場合は、Spring.Net の Dependency Injection Framework を使用することをお勧めします。

于 2009-03-02T18:55:11.977 に答える