Структура -> файл

Valadimir
Дата: 11.05.2006 20:07:55
public struct Product
{
public String name;
public int price;
public int num;
public bool exist;

}

StreamWriter swFromFile = new StreamWriter("c:\\Struct.asd");
swFromFile.Write(????);
swFromFile.Close();

Я так понял что нужно получить указатель структуры, но как это сделать не знаю подскажите, pleeeease!
Alkv
Дата: 11.05.2006 22:52:42
Вообщето ее наверное сериализовать нужно :)
Valadimir
Дата: 12.05.2006 00:10:56
Что такое сериализация структур? - Это новая тема)))
Alkv
Дата: 12.05.2006 01:36:02
Мы уже обсуждали такой вопрос моим предложение было написать класс хелпер для сериализации такой структуры:


public struct Product 
{
public String name; 
public int price;
public int num;
public bool exist;

}

[Serializable]
public class ProductSerializationHelper 
{

private String name; 
private int price;
private int num;
private bool exist;

public ProductSerializationHelper(Product p)
{
name = p.name;
.....
...
}

Product ToProduct()
{
Product p;
p.name = name;
......
return p;
}

}

затем берем и сериализуем экземпляр этого класса. При обратном действии используем метод ToProduct();
Valadimir
Дата: 12.05.2006 10:11:12
а как нить попроще записать структуру в файл никак нельзя записать?
Moristar
Дата: 12.05.2006 10:15:34
Можно.. вручную писать каждое поле по отдельности
maXmo
Дата: 12.05.2006 13:14:24
можно объявить структуру как класс

[Serializable]
public class MyObject {
  public int n1 = 0;
  public int n2 = 0;
  public String str = null;
}


MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "Some String";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
stream.Close();
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
Valadimir
Дата: 15.05.2006 23:29:57
Вот что в файле
 яяяя  RWindowsApplication19, Version=1.0.1961.42245, Culture=neutral, PublicKeyToken=null #WindowsApplication19.Form1+MyObject n1n2str     Some String



?????????????????????????
maXmo
Дата: 16.05.2006 14:19:40
по-видимому, сериализация прошла удачно. Что-то не нравится?
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
Moristar
Дата: 16.05.2006 14:33:55
Вы бы ему показали, как все это дело десериализовать :))