プレーヤー設定として使用している複数の設定ファイルを読み取ろうとしています。C# と XNA
それらはすべてまったく同じ設定です。AKA Settings1 には player1 の Name、ShipType、Weapon、Shield、Color などがあります... (約 100 のこと) Settings2 には player2 の情報、プレイヤー 1 と同じように設定があります。AkA Settings1.settings Settings2.settings など...
私はこれを使用していますVS のすべてのものを簡単に参照できるので、クリックして追加するだけで、型やすべての良いものを見つけ出すことができます。
これが私がやりたいことです
{
System.Configuration.ApplicationSettingsBase[] playerSettings;
playerSettings = new System.Configuration.ApplicationSettingsBase[2];
playerSettings[0] = Settings1.Default;
playerSettings[1] = Settings2.Default;
string player1Name = playerSettings[0].Name;
string player2Name = playerSettings[1].Name;
}
でも。このセットアップを使用すると、playerSettings[0] では Name プロパティにアクセスできません。
デバッグに入ると、PlayerSettings[0] に Settings1 が含まれており、その中に Name プロパティがあることがわかります。VSでアクセスする方法がわからないので、読み込むことができます。
- [0] {WindowsGame3.Settings1} System.Configuration.ApplicationSettingsBase {WindowsGame3.Settings1}
- [WindowsGame3.Settings1] {WindowsGame3.Settings1} WindowsGame3.Settings1
+ base {WindowsGame3.Settings1} System.Configuration.ApplicationSettingsBase {WindowsGame3.Settings1} Name "sally" string
system.configureation.applicationsettingsbase[] を使用できるようにして、メソッドに渡すだけでコードを 1 回だけ更新できるようにしたいと考えていました。プレイヤーごとに手動で行うのではなく (現在は 4 回で、非常に長い)
繰り返しますが、これらは、右クリックして add-new-settings を選択してプロジェクトに追加できるデフォルトの設定ファイルである必要があります。
TLDR: .settings ファイルでいっぱいの System.Configuration.ApplicationSettingsBase の配列内のプロパティにアクセスする方法が必要です。または、異なるタイプとして認識されている場合でも、それぞれの異なる .settings ファイルをメソッドに渡します ありがとう