List<T>をForm1で宣言し、Form2でListのインスタンスを作り値を入力・シリアル化します。
その後、Form3からXMLをロードしてForm2で作ったインスタンス(wind.member)にアクセスしようとしてもアクセスできません。また単純にインスタンスをpublicにすることもできませんでした。
クラスについてよく理解できていないので間違っていたらすみません。ソースコードを参照にしていただけらばなと思います。
よろしくお願いします。
c#
1 //Form1.cs 2 public const string FILENAME = @"D:\windmember.xml"; 3 4 public class member 5 { 6 public static int MemberNum; 7 public List<Person> people = new List<Person>(); 8 } 9 10 public class Person 11 { 12 public string Name; 13 public int num; 14 } 15 16 //Form2.cs 17 private void button1_Click(object sender, EventArgs e) 18 { 19 member.MemberNum += addnum; 20 member wind = new member(); 21 22 //wind.memberに要素を加える処理 23 24 XmlSerializer serializer = new XmlSerializer(typeof(member)); 25 FileStream fs = new FileStream(FILENAME, FileMode.Create); 26 serializer.Serialize(fs, wind); 27 fs.Close(); 28 29 } 30 31 //Form3 32 private void Form3_Load_1(object sender, EventArgs e) 33 { 34 XmlSerializer serializer = new XmlSerializer(typeof(member)); 35 FileStream fs = new FileStream(FILENAME, FileMode.Open); 36 member cls = (member)serializer.Deserialize(fs); 37 fs.Close(); 38 } 39 40 private void button1_Click(object sender, EventArgs e) 41 { 42 foreach (int num in people) //peopleが見つからない 43 { 44 45 }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/01 15:43
2018/04/01 15:59