如何实现我班级的集合对象?
类似于MatchCollection
或CookieCollection
例如:
我有以下课程:
public class theParserClass
{
public theParserClass(string baa)
{
//..
}
public string pro1
{
get { /* etc */ }
}
}
以及我想要实现的集合:
public class theParserClassResultCollection
{
private ParserResultCollection result;
public theParserClassResultCollection(string[] baa)
{
foreach(string foo in baa)
{
var data = new theParserClass(foo);
result.Add(data);
}
}
public ParserResultCollection()
{
return result;
}
}
我希望这很清楚。提前致谢
答案 0 :(得分:1)
您可以像这样使用ObservableCollection:
public ObservableCollection<ParserClass> GetCollection(string[] baa)
{
var result = new ObservableCollection<ParserClass>();
foreach(string foo in baa)
{
var data = new ParserClass(foo);
result.Add(data);
}
return result;
}
public class ParserClass
{
public ParserClass (string baa)
{
//..
}
public string pro1
{
get { /* etc */ }
}
}
msdn:http://msdn.microsoft.com/en-us/library/ms668604.aspx
希望这会有所帮助
答案 1 :(得分:0)
首先,您在类ParserResultCollection
中声明似乎是theParserResultCollection
的构造函数。真的不知道那是什么意思。
您可以使用的一般想法是在现有集合上创建一个包装类(通过组合继承),并使用内部集合对象提供所需的方法。像:
public class ParserResultCollection
{
private List<ParserClass> collection;
public ParserResultCollection(string[] param)
{
collection = new List<ParserClass>(param);
}
public void Add(ParserClass item)
{
collection.Add(item);
}
// whatever else you need.
}
当然,如果您不需要任何与现有集合相关的其他特殊功能,请改用它们。
然后删除“the”,只需ParserResultCollection
。它更干净。
答案 2 :(得分:0)
你可以试试这个:
public class Collection<T> : IList<T>,
ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable