На данный момент я получил это:Как я могу прочитать массив из XML-файла?
class robot
{
Configuratie config = new Configuratie();
short[,] AlleCoordinaten = new short[3, 6]
{
{1,2,3,4,5,6},
{6,5,4,3,2,1},
{2,3,4,5,6,7}
};
}
Но я хочу, чтобы поместить этот массив в XML-файле, так это то, что я пробовал:
class robot
{
Configuratie config = new Configuratie();
short[,] AlleCoordinaten = new short[3, 6]
{
{(config.GetIntConfig("robot","position1"))},
{(config.GetIntConfig("robot","position2"))},
{(config.GetIntConfig("robot","position3"))}
};
}
файл конфигурации:
class Configuratie
{
private XDocument xdoc;
public Configuratie()
{
xdoc = XDocument.Load("configuratie.xml");
}
public int GetIntConfig(string desc1, string desc2)
{
int value = 0;
if (string.IsNullOrEmpty(desc1))
{
value = 0;
}
if (!string.IsNullOrEmpty(desc1) && !string.IsNullOrEmpty(desc2))
{
foreach (XElement node in xdoc.Descendants(desc1).Descendants(desc2))
{
value = Convert.ToInt16(node.Value);
}
}
if (!string.IsNullOrEmpty(desc1) && string.IsNullOrEmpty(desc2))
{
foreach (XElement node in xdoc.Descendants(desc1))
{
value = Convert.ToInt16(node.Value);
}
}
return value;
}
}
XML файл:
<robot>
<position1>1</position1>
<position1>2</position1>
<position1>3</position1>
<position1>4</position1>
<position1>5</position1>
<position1>6</position1>
etc...
<position3>7</position3>
</robot>
Он все еще не работает, могли бы вы, ребята, помочь мне с тем, что я сделал не так, и, может быть, приведу пример. Ошибки, которые я получил: Ошибка, которую я получаю: инициализатор массива длиной 6 ожидается. И: инициализатор поля не может ссылаться на метод или свойство нестатического поля. Я знаю, что есть более простой способ, но я хочу сделать это с конфигурационным файлом. Как я могу это сделать?
Я уже ответил на этот вопрос. http://stackoverflow.com/a/21552800/3010968 –
Инициализация вашего массива прикручена. Компилятор действительно говорит вам об этом. 'GetIntConfig()' возвращает 'int', который вы передаете в массив, который ожидает элемент с 6 целыми числами. Не один. Вторая ошибка заключается в том, что вы используете переменную экземпляра для настройки другой переменной экземпляра, что происходит, если компилятор перенастраивает порядок, в котором они инициализируются? Затем вы потенциально получаете доступ к переменной, которая не была установлена, поэтому это также запрещено. – DGibbs