必需:我希望像这样序列化XML文件
<StudentGroupList>
<Group key = 1>
<StudentItem>
<Name> John </Name>
<GroupName>1</GroupName>
<StudentItem>
<StudentItem>
<Name> David</Name>
<GroupName>1</GroupName>
<StudentItem>
</Group>
<Group key = 2>
<StudentItem>
<Name> Ron</Name>
<GroupName>2</GroupName>
<StudentItem>
</Group>
</StudentGroupList>
这是我为序列化和反序列化而创建的类结构
public class StudentItem
{
public string Name {get; set;}
public int GroupName {get; set;}
}
public class StudentGroupList
{
public List<StudentItem> lstStudnetItem = new List<StudentItem>();
public int key {get;set;}
}
class StudentDataSource
{
public List<StudentGroupList> lstStudnetGroup = new List<StudentGroupList>();
//Confusion in below line
static StudentDataSource objDataSource = new StudentDataSource();
}
我创建了一个StudentDataSource
的单个实例,以便我可以在我的应用的每个页面上全局使用它。我想使用单个实例,因为此实例将从上面的XML文件反序列化,并在进行任何更改后立即更新它。现在,如您所见,我已将此实例设为静态,我无法访问lstStudnetGroup
。
请为我提供课程结构的解决方案,以便我可以轻松创建应用程序。
答案 0 :(得分:0)
我认为lstStudnetGroup
的直接问题是默认情况下它具有私人访问权限。在声明中添加“public”,您应该能够看到它。也就是说,您无法在objDataSource
课程之外访问StudentDataSource
。
StudentDataSource是否需要包含自身的静态实例?这样就不够了:
类StudentDataSource { public static List lstStudnetGroup = new List(); }
然后在代码中你可以参考
StudentDataSource.lstStudnetGroup.XXXX