1

必需:我想要一个像这样序列化的 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.

请为我提供类结构的解决方案,以便我可以轻松创建应用程序。

4

1 回答 1

0

我认为最直接的问题lstStudnetGroup是它默认具有私有访问权限。将“public”添加到声明中,您应该可以看到它。也就是说,您将无法在课堂objDataSource外访问任何一个。StudentDataSource

StudentDataSource 是否需要包含其自身的静态实例?这还不够吗:

类 StudentDataSource { public static List lstStudnetGroup = new List(); }

然后在代码中你可以参考

StudentDataSource.lstStudnetGroup.XXXX

于 2012-11-23T16:26:01.027 回答