点击或拖拽改变大小

SerializeSettingAssemblyQualifiedName 属性

获取或设置序列化/反序列化时,文本中标记 '类型的程序集限定名称' 的文本。

命名空间:  XPatchLib
程序集:  XPatchLib (在 XPatchLib.dll 中) 版本:4.1.0.4
语法
C#
public virtual string AssemblyQualifiedName { get; set; }

属性值

类型: String
默认值是 AssemblyQualified

实现

ISerializeSettingAssemblyQualifiedName
一场
异常条件
ArgumentNullException当设置值是传入 null 时。
ArgumentException当设置值为空时。
示例

下面的示例展示了 AssemblyQualifiedName 的使用效果,以及如何修改 AssemblyQualifiedName 。

C#
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.IO;
using System.Text;

namespace XPatchLib.Example
{
    public class AssemblyQualifiedName
    {
        public static void Main()
        {
            DefaultAssemblyQualifiedName();
            SetNewAssemblyQualifiedName();
        }

        static void DoDivide(ISerializeSetting setting)
        {
            dynamic d = new SampleDynamicObject();
            d.Text = "Text";

            StringBuilder result = new StringBuilder();
            Serializer serializer = new Serializer(d.GetType());
            using (StringWriter writer = new StringWriter(result))
            {
                using (XmlTextWriter xmlWriter = new XmlTextWriter(writer))
                {
                    if (setting != null)
                        xmlWriter.Setting = setting;
                    serializer.Divide(xmlWriter, null, d);
                }
            }
            Console.WriteLine(result.ToString());
        }

        private static void SetNewAssemblyQualifiedName()
        {
            DoDivide(new XmlSerializeSetting() {AssemblyQualifiedName = "NewAssemblyAttr"});

            /*
            <?xml version="1.0" encoding="utf-16"?>
            <SampleDynamicObject>
              <Text NewAssemblyAttr="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Text>
            </SampleDynamicObject> 
            */
        }

        private static void DefaultAssemblyQualifiedName()
        {
            DoDivide(new XmlSerializeSetting());

            /*
            <?xml version="1.0" encoding="utf-16"?>
            <SampleDynamicObject>
              <Text AssemblyQualified="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Text>
            </SampleDynamicObject> 
            */
        }
    }

    public class SampleDynamicObject : DynamicObject
    {
        Dictionary<string, object> dictionary
            = new Dictionary<string, object>();
        public int Count
        {
            get
            {
                return dictionary.Count;
            }
        }
        public override IEnumerable<string> GetDynamicMemberNames()
        {
            return dictionary.Keys;
        }

        public override bool TryGetMember(
            GetMemberBinder binder, out object result)
        {
            string name = binder.Name;
            return dictionary.TryGetValue(name, out result);
        }
        public override bool TrySetMember(
            SetMemberBinder binder, object value)
        {
            dictionary[binder.Name] = value;
            return true;
        }
    }
}
版本信息

.NET Framework

支持版本:4.5, 4.0, 3.5, 2.0

.NET Standard

支持版本:2.0, 1.3, 1.0
参见