序列化和反序列化XML应用程序设置类

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

1 public class ApplicationSettings

2 {

3

4 private bool appSettingsChanged;

5 // 用于存储应用程序设置的变量。

6

7 private Point formLocation;

8

9 public Point FormLocation

10 {

11 get { return formLocation; }

12 set

13 {

14 if (value != formLocation)

15 {

16 formLocation = value;

17 appSettingsChanged = true;

18 }

19 }

20 }

21

22

23 // 从配置文件中反序列化类。

24 public bool LoadAppSettings()

25 {

26 XmlSerializer mySerializer = null;

27 FileStream myFileStream = null;

28 bool fileExists = false;

29

30 try

31 {

32 // 为 ApplicationSettings 类型创建 XmlSerializer。

33 mySerializer = new XmlSerializer(typeof(ApplicationSettings));

34 FileInfo fi = new FileInfo(Application.LocalUserAppDataPath

35 + @"\myApplication.config");

36 // 如果配置文件存在,将其打开。

37 if (fi.Exists)

38 {

39 myFileStream = fi.OpenRead();

40 // 反序列化配置文件以创建新的

41 // ApplicationSettings 实例。

42 ApplicationSettings myAppSettings =

43 (ApplicationSettings)mySerializer.Deserialize(

44 myFileStream);

45 // 为 ApplicationSettings 类的这一实例

46 // 分配属性值。

47 this.formLocation = myAppSettings.FormLocation;

48 fileExists = true;

49 }

50 }

51 catch (Exception ex)

52 {

53 MessageBox.Show(ex.Message);

54 }

55 finally

56 {

57 // 如果 FileStream 是打开的,将其关闭。

58 if (myFileStream != null)

59 {

60 myFileStream.Close();

61 }

62 }

63

64

65 return fileExists;

66 }

67

68 &n

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有