C#中设置之间的歧义

时间:2013-11-10 18:37:39

标签: c# settings ambiguity

我制作了一个带有GUI的C#应用​​程序和一些用户设置的设置文件。但是,当我即将阅读MySettings.Default.SettingsName;等设置的当前值时,它适用于第一组设置,例如MyFirstSettings。然而,对于第二个,我们称之为MySecondSettings,我得到一个错误度量Ambiguity between My first Settings.Default and MySecondSettings.Default。我无法找到任何其他方式来访问设置,但使用.Default

任何提示都会非常感激!

Axel

2 个答案:

答案 0 :(得分:4)

如果你有两个设置文件,它通常可以正常工作:

以下作品(和编译)对我来说非常完美:

Settings1.Default.Value1 = "11";
Settings1.Default.Save();

Settings2.Default.Value1 = "22";
Settings2.Default.Save();

因此,如果您在VisualStudio之外以某种方式创建/复制Settings2文件(例如),则可能会出现问题。 (在这种情况下,两个设置文件可能仍然引用相同的“Settings1”类)。


我创建的Settings2文件的方法是在解决方案中拖拽(按下Ctrl键(复制))并将其从“Copy of Settings1”重命名为“Settings2”。

选择“添加/新项目...”并选择新的设置文件也非常有用。

修改

正如问题的作者评论如下:

  

在DAQSettings“文件夹”中,我找到了Designer的两个实例,一个   名为Day Settings1.Designer,名为Settings.Designer。

...解释了那里的错误,因为某些类/元素存在重复(重复命名),因此清除问题的方法是“手动涉及”。

答案 1 :(得分:1)

就我而言,我实际上在默认设置文件名Default中有一个设置。这导致了一个错误说

 Ambiguity between Settings.Default and Settings.Default

更改此项解决了错误。

注意:是的,将该设置命名为'默认'这是一个坏主意,但是这是一个非常小的程序,只做一件事,所以如果有人来到我身后看看这个,他们可能会知道它是什么。