我正在尝试读取我用作播放器设置的多个设置文件。C# 和 XNA
它们都有完全相同的设置。AKA Settings1 有 player1 的名称、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:我需要一种方法来访问 System.Configuration.ApplicationSettingsBase 数组中的属性,该数组中充满了 .settings 文件。或将每个不同的 .settings 文件传递给一个方法,即使它们被识别为不同的类型谢谢