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 には、それ自体の静的インスタンスを含める必要がありますか? これで十分ではないでしょうか:

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

次に、コードで参照できます

StudentDataSource.lstStudnetGroup.XXXX

于 2012-11-23T16:26:01.027 に答える