gpt4 book ai didi

.net - 如何在 Windows 窗体设置文件中存储枚举值?

转载 作者:行者123 更新时间:2023-12-04 07:11:14 25 4
gpt4 key购买 nike

我正在使用 Windows 窗体和 VS2008。我想在我的应用程序的设置文件中存储一个枚举值。

VS2008 中的设置编辑器只给了我一组有限的类型。令人惊讶的是,枚举似乎不是这些自动支持的类型之一 - 我理解正确吗?

通过阅读该主题,似乎我可能需要编写一个 TypeConverter 类,以使我的枚举转换为字符串,反之亦然。我已经为我的枚举实现了这个,并将 TypeConverter 属性添加到我的枚举中,以指示该枚举使用哪个转换器类。

但是,当我尝试在我的设置文件(在“选择类型”中)对话框中指定它时,它只是说我的类型没有定义,所以我有点卡住了。

谁能向我解释如何在 Windows 窗体应用程序的设置文件中存储枚举?这似乎是一个非常简单(并且通常需要)的功能,令我惊讶的是它还没有得到支持,而且我似乎必须做很多工作才能让它工作(而且只有一个枚举!)。

因此我想我一定是遗漏了一些东西,这实际上很容易......

假设我的枚举看起来像这样:

namespace MyApp
{
enum MyEnum
{
Yes,
No
}
}

...如何在我的设置文件中存储这个枚举的值? (当然,还要找回它)。

(显然我可以只存储一个字符串或整数并解释自己,但这看起来很笨拙,我希望 Windows 窗体能够更干净地处理这类事情。)

最佳答案

枚举实际上与数字类型(默认 int)相去甚远,并且可以互换使用。我认为来回转换和存储 int 并不笨拙。实际上,设置文件中只能存储字符串。通过扩展,这确实意味着任何可序列化为字符串的内容。

另一种方法是存储枚举的文本值(因此它是人类可编辑的)并使用 Enum.Parse(type, string) 解析它。

关于.net - 如何在 Windows 窗体设置文件中存储枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com