深入.net平台和C#编程(序列化和反射)
Posted 我是一个小白.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入.net平台和C#编程(序列化和反射)相关的知识,希望对你有一定的参考价值。
序列化和反序列化
序列化和反序列化是将对象的状态存储到特定存储介质的过程
命名空间
using System.Runtime.Serialization.Formatters.Binary;
在类的头部添加[Serializable],表示该类可序列化
Using方法:
前提有实现接口
using自动释放
读写器.推荐使用file类的方法
序列化固定写法:
序列化类
BinaryFormatter BF = new BinaryFormatter();
创建文件流,给如指定地址
using (FileStream Fs=new FileStream("E:/XUE.txt",FileMode.Create))
{
将数据流传入和要进行保存的集合
BF.Serialize(Fs,Items);
}
反序列化固定写法:
BinaryFormatter BF = new BinaryFormatter();
using (FileStream Fs=new FileStream("E:/XUE.txt",FileMode.open))
{
var Zi = BF.Deserialize(fs) as List<Xu>;
foreach(var Item in zi){循环遍历即可}
}
反射
命名空间:System.refleection
通过反射的方法,可以遍历成员,并调用成员
反射二种情景:加载时调用,编译时调用
程序集:Assembly
注意:通过程序集创建对象(object类型的数据,是我们想要反射的数据)
方法
字段
Getfields()获取全部公共字段
Getfield()搜索指定字段
属性
Getproperties()获取全部公共属性
Getproperty()搜索指定属性
方法
Getmethods()获取全部公共方法
Getmenthod()搜索指定方法
博主写的方法都是常用的,固定语法,希望对你们有所帮助吧!
加油,共勉
以上是关于深入.net平台和C#编程(序列化和反射)的主要内容,如果未能解决你的问题,请参考以下文章