应用程序设置 + 目录信息/文件信息

3
我还不太了解C#... 我正在构建一个WPF应用程序,尝试应用一些用户应用设置。插入标准的应用程序设置(int、double、string等)很容易。我甚至已经插入了类似于WindowState的内容。
我想要将DirectoryInfo和/或FileInfo作为可保存的设置,而不是字符串。

所选类型:System.IO.File会出现错误消息“不支持抽象类型”。

这是有道理的,因为你怎么能将抽象类型实现为设置呢。

所选类型:System.IO.FileInfo会出现错误消息“未定义类型'System.IO.FileInfo'。”。

DirectoryInfo/FileInfo不能作为应用程序设置吗?这是可能的吗?值得花时间吗?你怎么确定什么可以作为设置,什么不行?
我的用户设置经验有限,我正在努力扩展自己的知识,但这让我感到困惑。
编辑:我尝试发布一些屏幕截图,但显然我太新了。我正在Visual Studio中工作,应用程序设置。
进一步说明:

http://msdn.microsoft.com/en-us/library/a65txexh.aspx

应用程序设置可以存储任何可XML序列化的数据类型或具有实现ToString/FromString的TypeConverter。最常见的类型是String、Integer和Boolean,但您也可以将值存储为Color、Object或连接字符串。
DirectoryInfo di = new DirectoryInfo(@"C:\");
di.ToString();

我有什么遗漏吗,因为它有 ToString()...

1个回答

2
是的,这是不可能的。应用程序设置使用XML序列化进行序列化。一个类要想被序列化,必须有一个无参构造函数。这两个类都没有。
这并不是真正的问题,因为这两个类都有一个以字符串为参数的构造函数。所以,将设置设置为字符串,您就可以始终获得FileInfo或DirectoryInfo。尽管它必须引用存在的文件系统对象。如果这是个问题,那就自己创建一个类。

1
啊...无参数构造函数...我没在任何注释中看到提到过它。目前我将其设置为字符串,并使用IsValid类型代码在后台运行。我只是试图从始至终保持类型一致。 - WernerCD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接