我还是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()......
答案 0 :(得分:2)
是的,这是不可能的。使用XML序列化序列化应用程序设置。类可序列化的一个硬性要求是它需要一个无参数构造函数。两个班都没有。
这不是一个真正的问题,因为任何一个类都有一个带字符串的构造函数。因此,将设置设置为字符串,您可以始终从中获取FileInfo或DirectoryInfo。虽然它必须引用存在的文件系统对象。如果这是一个问题,那就去做自己的课。