【转】编写高质量代码改善C#程序的157个建议——建议55:利用定制特性减少可序列化的字段
2021-04-23 20:28
标签:combine gets public 高质量 open from ram attr ted 建议55:利用定制特性减少可序列化的字段 特性(attribute)可以声明式地为代码中的目标元素添加注释。运行时可以通过查询这些托管块中的元数据信息,达到改变目标元素运行时行为的目的。System.Runtime.Serialization命名空间下,有4个这样的特性: 利用这些特性,可以更加灵活地处理序列化和反序列化。例如,我们可以利用这一点,进一步减少某些可序列化的字段。 Person类由ChineseName、FirstName、LastName字段组成: 我们知道,ChineseName实际可以有FirstName和LastName推断出,所以这意味着ChineseName不需要被序列化。这时候,我们就可以利用特性,提供一个方法在序列化完成后计算ChineseName的值: 序列化工具类: 转自:《编写高质量代码改善C#程序的157个建议》陆敏技 【转】编写高质量代码改善C#程序的157个建议——建议55:利用定制特性减少可序列化的字段 标签:combine gets public 高质量 open from ram attr ted 原文地址:http://www.cnblogs.com/farmer-y/p/7991950.html
[Serializable]
class Person
{
public string FirstName;
public string LastName;
public string ChineseName;
}
class Program
{
static void Main()
{
Person liming = new Person() { FirstName = "Ming", LastName = "Li", ChineseName = "Li Ming" };
BinarySerializer.SerializeToFile(liming, @"c:\", "Person.txt");
Person person = BinarySerializer.DeserializeFromFile
public class BinarySerializer
{
//将类型序列化为字符串
public static string Serialize
文章标题:【转】编写高质量代码改善C#程序的157个建议——建议55:利用定制特性减少可序列化的字段
文章链接:http://soscw.com/index.php/essay/78649.html