应用程序设置+ DirectoryInfo / FileInfo

时间:2010-08-26 20:51:45

标签: c# wpf fileinfo directoryinfo application-settings

我还是C#的新手...我正在构建一个WPF应用程序,我正在尝试应用一些用户应用程序设置。插入标准的App Settings(int,double,string等)很容易。我甚至插入了类似WindowState的东西。

我想将DirectoryInfo和/或FileInfo作为可保存的设置而不是字符串。

  

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

这是有道理的,因为如何将抽象类型实现为设置。

  

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

DirectoryInfo / FileInfo无法设置为应用程序设置吗?可能吗?值得的时间?如何确定哪些可用作设置,哪些不可用?

我对用户设置的体验有限,我正在努力扩展我的知识,这让我很难过。

编辑:我试图发布一些截图,但显然我太新了。我正在使用Visual Studio,Application Settings。

进一步说明:

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 个答案:

答案 0 :(得分:2)

是的,这是不可能的。使用XML序列化序列化应用程序设置。类可序列化的一个硬性要求是它需要一个无参数构造函数。两个班都没有。

这不是一个真正的问题,因为任何一个类都有一个带字符串的构造函数。因此,将设置设置为字符串,您可以始终从中获取FileInfo或DirectoryInfo。虽然它必须引用存在的文件系统对象。如果这是一个问题,那就去做自己的课。