Я в тупике. У меня есть класс конструктора, который выглядит примерно так:Добавление в класс конструктора
class CClasses
{
public class CCategoryGroup : List<CCategory>
{
public string CTitle { set; get; }
public string CShortTitle { set; get; }
public CARESCategoryGroup(string ctitle, string cshorttitle)
{
this.CTitle = ctitle;
this.CShortTitle = cshorttitle;
}
};
public class CCategory
{
public int CID { set; get; }
public string CName { set; get; }
public ImageSource CIcon { set; get; }
public string CUrl { set; get; }
public CCategory(int cid, string cname, ImageSource cicon, string curl)
{
this.CID = cid;
this.CName = cname;
this.CIcon = cicon;
this.CUrl = curl;
}
};
}
Я хочу добавить к конструктору части класса как так:
//List<CCategoryGroup> ccategory = new List<CCategoryGroup>
//{
// new CCategoryGroup("Dolphin", "Dolphin Group")
// {
// new CCategory(1, "Bear", ImageSource.FromFile("bear.png")),
// new CCategory(2, "Elephant", ImageSource.FromFile("elephant.png")),
// new CCategory(3, "Dog", ImageSource.FromFile("dog.png")),
// new CCategory(4, "Cat", ImageSource.FromFile("cat.png")),
// new CCategory(5, "Squirrel", ImageSource.FromFile("squirrel.png"))
// },
Моя проблема в том, что я пытаюсь добавить к этому классу через петлю. Так что я легко может добавить CCategoryGroup с:
cCategory.Add(new CCategoryGroup(name, value)
Как добавить в конструктор CCategory, как показано ранее?
foreach (XElement catelement in xmlDoc.Descendants(xmlNS + "Category"))
{
cCategory.Add(new CCategoryGroup(catelement.Element(xmlNS + "Name").Value, catelement.Element(xmlNS + "Name").Value){
foreach (XElement subcatelement in xmlDoc.Descendants(xmlNS + "SubCategory"))
{
i++;
new CCategory(i, subcatelement.Element(xmlNS + "Name").Value, "", subcatelement.Element(xmlNS + "URL").Value);
}
});
}
Я разбираю XML и пытаюсь добавить результаты в класс. Очевидно, это не работает. Но это образец того, что я пытаюсь сделать. Первый «.add» для cCategoryGroup отлично работает, его конструктор CCategory, который я не могу добавить так же, как и в прокомментированном коде.
Что бы вы могли скомпилировать, вы добавляете отсутствующий 4-й параметр в вызовы конструктора 'CCategory'. Вы ищете что-то другое или не работает для вас? –
Также прекратите предварять все с помощью 'C'. Это упрощает чтение имен классов и параметров и не требует строго типизированного языка. –
Да, я ищу, чтобы запустить его через петлю. Я знаю, что код с комментариями работает, но я в основном пытаюсь добавить к классу и конструктору, используя «.add». Как добавить к конструктору с помощью «.add»? –