我有一组带有属性的类和一个包含一组类列表的主类。
public class MainClass
{
public List<ClassA> listA {get;set;}
public List<ClassB> listB {get;set;}
public List<ClassC> listC {get;set;}
public object[] loop = {listA, listB, listC};
}
class ClassA
{
public Guid id {get;set;}
public string text {get;set;}
public int number {get;set}
public status {get;set;}
public object[] loop = {id, text, number};
}
class ClassB
{
public Guid id {get;set;}
public string text {get;set;}
public Image pic {get;set}
public status {get;set;}
public object[] loop = {id, text, pic};
}
class ClassC
{
public Guid id {get;set;}
public byte[] data {get;set;}
public DateTime date {get;set;}
public status {get;set;}
public object[] loop = {id, data, date};
}
public enum status
{
nothing=0, instert=1, delete=2, edit=3
}
自昨天以来情况发生了变化,但我仍然想为我的班级编制索引,我的想法是添加以下行:
public object[] loop = {listA, listB, listC};
到 MainClass,归档这个目标,在将整个事情更改为非静态类之后,这似乎是被禁止的。同样,当我使用静态类尝试此操作时,我无法直接处理我的列表。这可以怎么做?
最后,我想像这样处理列表中的特定属性:
MainClass mc = new MainClass();
DateTime dt = mc.loop[2][5].loop[2];
即使没有循环属性这样做会更好,例如:
DateTime dt = mc[2][5][2];
我想如何最终循环它:
for(int i=0; i<mc.loop.count(); i++)
{
for (int j=0; j<mc.loop[i].Count(); i++)
{
switch(mc.loop[i][j].loop[3])
{
case: delete
doSomething1(mc.loop[i][j])
case: insert
doSomething2(mc.loop[i][j])
case: edit
doSomething3(mc.loop[i][j])
default
break;
}
}
}