Так что я чувствую себя как ноб, но это меня озадачило меня или часы, и хотя я прочитал много вопросов/учебников, я не могу получить эту работу. Без сомнения, это фундаментальная проблема, с которой я сталкиваюсь, настолько очевидной, что я полностью ее не понимаю. Во всяком случае, проблема у меня есть. У меня есть класс, который сериализуется именно так, как я хочу, например;Проблемы с сериализацией массивов
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Serialization;
using System.Text;
namespace SMCProcessMonitor
{
public class Config
{
private string recipient = "";
private int serverport;
private string username = "";
private string password = "";
public Config()
{
}
public string Recipient
{
get
{
return recipient;
}
set
{
recipient= value;
}
}
За ним следуют gets/sets для разных переменных. Это прекрасно работает, но это следующий бит, с которым я борюсь. Поскольку они имеют дело с только одиночными экземплярами кода, это было относительно легко, но следующая часть я хотел бы добавить, список программ, по-видимому, выглядящий как
<program>
<programname>program1</programname>
<programfilepath>C:/...</programfilepath>
</program>
<program>
<programname>program2</programname>
<programfilepath>D:/...</programfilepath>
</program>
Я предполагаю, что здесь я хочу используйте массив для хранения различных программ при сериализации, из которых я, например, пробовал много разных способов, но не помог. Если я создаю следующий класс, чтобы держать мои детали массива, например:
public class Company
{
public programs[] Programs;
}
public class Programs
{
public string mFileName;
public string mFilePath;
}
Итак я пришел, чтобы использовать этот массив, чтобы заполнить данными, и вызвать его, используя следующее:
SMCProcessMonitor.ConfigManager.mConfigurations.programs = sFile;
левая сторона кажется прекрасной, но, пытаясь назначить ее переменной sFile (которая представляет собой строку, содержащую имя файла), я получаю несколько ошибок (в зависимости от того, что я пытаюсь, например sFile.ToArray и т. д., но именно таких ошибок преобразования as:
Невозможно неявно преобразовать тип 'string' в 'SMCProcessMon itor.Config.Programs [] '
так с этим длинным надутым вопросом спрашивали ... у кого есть какие-либо указатели или советы о том, где я ошибаюсь? как я сказал им уверен, что это что-то глупое, что им не удалось понять ..
Приветствия заранее, Шейн.
Предполагая, что ваша строка программ является XML, вы можете взглянуть на linq на xml как быстрый способ проанализировать XML в своих программных объектах. http://weblogs.asp.net/brijmohan/archive/2008/11/22/linq-to-xml-and-linq-to-objects-basic-sample.aspx – rie819