Вот ошибка, которую я получаю с кодом, вставленным ниже.
Невозможно создать экземпляр класса ZDRCreatorTests.ZDRCreatorTests. Ошибка: System.Configuration.ConfigurationErrorsException: Невозможно проанализировать значение по умолчанию свойства indexedFolder. Ошибка: Невозможно найти преобразователь, который поддерживает преобразование в / из строки для свойства indexedFolder типа DirectoryInfo.
namespace ZDRCreator
{
public class ZDRCreatorElement : ConfigurationElement
{
// Create the element.
public ZDRCreatorElement()
{ }
// Get or set the IndexedFolder
[ConfigurationProperty("indexedFolder", DefaultValue = "", IsRequired = true)]
public DirectoryInfo IndexedFolder {
get { return (DirectoryInfo)this["indexedFolder"]; }
set { this["indexedFolder"] = value; }
}
// Get or set the OutputFolder
[ConfigurationProperty("outputFolder", DefaultValue = "", IsRequired = true)]
public DirectoryInfo OutputFolder {
get { return (DirectoryInfo)this["outputFolder"]; }
set { this["outputFolder"] = value; }
}
// Get or set the ZDRFile
[ConfigurationProperty("ZDRFile", DefaultValue = "", IsRequired = true)]
public FileInfo ZDRFile {
get { return (FileInfo)this["ZDRFile"]; }
set { this["ZDRFile"] = value; }
}
// Get or set the overwriteOutput flag
[ConfigurationProperty("overwriteOutput", DefaultValue = "false", IsRequired = true)]
public bool OverwriteOutput {
get { return (bool)this["overwriteOutput"]; }
set { this["overwriteOutput"] = value; }
}
// Get or set the OutputFile
[ConfigurationProperty("outputFile", DefaultValue = "", IsRequired = true)]
public String OutputFile {
get { return (String)this["outputFile"]; }
set { this["outputFile"] = value; }
}
// Get or set the OutputFile
[ConfigurationProperty("pathMask", DefaultValue = "", IsRequired = true)]
public String PathMask {
get { return (String)this["pathMask"]; }
set { this["pathMask"] = value; }
}
}
}
Я понимаю, что ошибка в том, что я пытаюсь поместить строку в объект DirectoryInfo. Мой вопрос заключается в следующем: я предполагаю, чтобы хранить только строки или примитивные типы данных, прочитанные из XML, а затем преобразовать их в другие объекты после прочтения XML? ИЛИ, есть ли место, где я могу пойти дальше и встроить их в объект, который будет использоваться внутри. Где будет происходить проверка ввода?