• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# IActionScriptSerializer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中IActionScriptSerializer的典型用法代码示例。如果您正苦于以下问题:C# IActionScriptSerializer类的具体用法?C# IActionScriptSerializer怎么用?C# IActionScriptSerializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IActionScriptSerializer类属于命名空间,在下文中一共展示了IActionScriptSerializer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: AMFDataOutput

        /// <summary>
        /// Creates an AMF data output writer.
        /// Initially uses the <see cref="AMFObjectEncoding.AMF0" /> object encoding.
        /// </summary>
        /// <param name="stream">The output stream</param>
        /// <param name="serializer">The ActionScript serializer to use for object serialization</param>
        public AMFDataOutput(Stream stream, IActionScriptSerializer serializer)
        {
            this.stream = stream;
            this.serializer = serializer;

            objectEncoding = AMFObjectEncoding.AMF0;
            utf8Encoding = new UTF8Encoding(false, false);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:14,代码来源:AMFDataOutput.cs


示例2: SetUp

        public override void SetUp()
        {
            base.SetUp();

            stream = new MemoryStream();
            serializer = Mocks.CreateMock<IActionScriptSerializer>();
            input = new AMFDataInput(stream, serializer);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:8,代码来源:AMFDataInputTest.cs


示例3: AMFDataInput

        /// <summary>
        /// Creates an AMF data input reader.
        /// Initially uses the <see cref="AMFObjectEncoding.AMF0" /> object encoding,
        /// switches modes automatically if <see cref="AMFObjectEncoding.AMF3" /> data is encountered.
        /// </summary>
        /// <param name="stream">The input stream</param>
        /// <param name="serializer">The ActionScript serializer to use for object serialization</param>
        public AMFDataInput(Stream stream, IActionScriptSerializer serializer)
        {
            this.stream = stream;
            this.serializer = serializer;

            objectReader = new AMF0ObjectReader(this);
            utf8Encoding = new UTF8Encoding(false, false);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:15,代码来源:AMFDataInput.cs


示例4: WriteStringData

 void IASValueVisitor.VisitXml(IActionScriptSerializer serializer, string xmlString)
 {
     output.WriteByte((byte)AMF3ObjectTypeCode.Xml);
     WriteStringData(xmlString);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:5,代码来源:AMF3ObjectWriter.cs


示例5: AMFException

        void IASValueVisitor.VisitObject(IActionScriptSerializer serializer, ASClass @class, IEnumerable<IASValue> memberValues,
            IEnumerable<KeyValuePair<string, IASValue>> dynamicProperties,
            IExternalizable externalizableValue)
        {
            int objectReferenceId = AddCurrentValueToCache(AMF3ObjectTypeCode.Object);

            output.WriteByte((byte)AMF3ObjectTypeCode.Object);

            // Look for a suitable existing class definition in the cache.
            int classDefinitionId;
            if (classDefinitionCache.TryGetValue(@class, out classDefinitionId))
            {
                // Use class definition reference.
                output.WriteVWInt29(classDefinitionId * 4 + 1);
            }
            else
            {
                // Include class definition inline and add it to the cache.
                classDefinitionCache.Add(@class, objectReferenceId);

                output.WriteVWInt29(@class.MemberNames.Count * 16 + (int)@class.Layout * 4 + 3);
                WriteStringData(@class.ClassAlias);

                foreach (string memberName in @class.MemberNames)
                {
                    if (String.IsNullOrEmpty(memberName))
                        throw new AMFException(ExceptionPrefix + "Cannot serialize an object with a null or empty member name.");

                    WriteStringData(memberName);
                }
            }

            if (@class.Layout == ASClassLayout.Externalizable)
            {
                if (externalizableValue == null)
                    throw new AMFException(ExceptionPrefix + "The class layout is Externalizable but the object does not provide an ExternalizableValue.");

                externalizableValue.WriteExternal(output);
            }
            else
            {
                // Write the members first as a sequence of values.
                int memberCount = @class.MemberNames.Count;
                int memberIndex = 0;
                foreach (IASValue memberValue in memberValues)
                {
                    if (memberIndex == memberCount)
                        throw new AMFException(ExceptionPrefix + "The number of member values provided by the object is greater than was indicated by its class.");

                    WriteObject(memberValue);
                    memberIndex += 1;
                }

                if (memberIndex != memberCount)
                    throw new AMFException(ExceptionPrefix + "The number of member values provided by the object is less than was indicated by its class.");

                if (@class.Layout == ASClassLayout.Dynamic)
                {
                    // Write dynamic key/value pairs.
                    foreach (KeyValuePair<string, IASValue> pair in dynamicProperties)
                    {
                        if (String.IsNullOrEmpty(pair.Key))
                            throw new AMFException(ExceptionPrefix + "Cannot serialize an object with a null or empty string key.");

                        WriteStringData(pair.Key);
                        WriteObject(pair.Value);
                    }

                    // Terminate with empty string.
                    WriteStringData("");
                }
            }
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:73,代码来源:AMF3ObjectWriter.cs


示例6: AMFException

        void IASValueVisitor.VisitByteArray(IActionScriptSerializer serializer, int length, IEnumerable<ArraySegment<byte>> segments)
        {
            // Serialize the value as a plain old array of numbers for AMF0.
            AddCurrentValueToCache();

            output.WriteByte((byte)AMF0ObjectTypeCode.Array);
            output.WriteInt(length);

            if (length != 0)
            {
                int bytesRemaining = length;

                foreach (ArraySegment<byte> bytes in segments)
                {
                    if (bytesRemaining < bytes.Count)
                        throw new AMFException(ExceptionPrefix + "The byte array provided more bytes than were indicated by its length.");

                    bytesRemaining -= bytes.Count;

                    int offset = bytes.Offset;
                    int count = bytes.Count;
                    byte[] array = bytes.Array;

                    while (count-- > 0)
                        WriteNumber(array[offset++]);
                }

                if (bytesRemaining != 0)
                    throw new AMFException(ExceptionPrefix + "The byte array did not provide as many bytes as were indicated by its length.");
            }
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:31,代码来源:AMF0ObjectWriter.cs


示例7: AcceptVisitor

 /// <inheritdoc />
 public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
 {
     visitor.VisitInt29(serializer, value);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:5,代码来源:ASInt29.cs


示例8: GetServiceForMessage

        /// <inheritdoc />
        public IService GetServiceForMessage(IActionScriptSerializer serializer, IMessage message)
        {
            if (serializer == null)
                throw new ArgumentNullException("serializer");
            if (message == null)
                throw new ArgumentNullException("message");

            return UncheckedGetServiceForMessage(serializer, message);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:10,代码来源:DefaultMessageBroker.cs


示例9:

 void IASValueVisitor.VisitBoolean(IActionScriptSerializer serializer, bool value)
 {
     output.WriteByte(value ? (byte)AMF3ObjectTypeCode.True : (byte)AMF3ObjectTypeCode.False);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:4,代码来源:AMF3ObjectWriter.cs


示例10: AcceptVisitor

 /// <inheritdoc />
 public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
 {
     ArraySegment<byte>[] segments = new ArraySegment<byte>[] { bytes };
     visitor.VisitByteArray(serializer, bytes.Count, segments);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:6,代码来源:ASByteArray.cs


示例11: AcceptVisitor

        /// <inheritdoc />
        public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
        {
            ThrowIfNotInitialized();

            mapper.AcceptVisitor(serializer, nativeArray, visitor);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:7,代码来源:ASNativeArray.cs


示例12: AcceptVisitor

        /// <inheritdoc />
        public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
        {
            ThrowIfNotInitialized();

            visitor.VisitObject(serializer, @class, memberValues, dynamicProperties, null);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:7,代码来源:ASObject.cs


示例13:

 void IASValueVisitor.VisitBoolean(IActionScriptSerializer serializer, bool value)
 {
     output.WriteByte((byte)AMF0ObjectTypeCode.Boolean);
     output.WriteBoolean(value);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:5,代码来源:AMF0ObjectWriter.cs


示例14: WriteNull

 void IASValueVisitor.VisitNull(IActionScriptSerializer serializer)
 {
     WriteNull();
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:4,代码来源:AMF3ObjectWriter.cs


示例15: AcceptVisitor

        /// <inheritdoc />
        public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
        {
            ThrowIfNotInitialized();

            visitor.VisitObject(serializer, @class,
                EmptyArray<IASValue>.Instance, EmptyDictionary<string, IASValue>.Instance,
                externalizableValue);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:9,代码来源:ASExternalizableObject.cs


示例16: AcceptVisitor

 /// <inheritdoc />
 public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
 {
     visitor.VisitXml(serializer, XmlString);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:5,代码来源:ASXmlDocument.cs


示例17: AcceptVisitor

 /// <inheritdoc />
 public override void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor)
 {
     visitor.VisitUndefined(serializer);
 }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:5,代码来源:ASUndefined.cs


示例18: AddCurrentValueToCache

        void IASValueVisitor.VisitDate(IActionScriptSerializer serializer, double millisecondsSinceEpoch, int timeZoneOffsetMinutes)
        {
            AddCurrentValueToCache(AMF3ObjectTypeCode.Date);

            output.WriteByte((byte)AMF3ObjectTypeCode.Date);
            output.WriteVWInt29(1);
            output.WriteDouble(millisecondsSinceEpoch - timeZoneOffsetMinutes * 60000);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:8,代码来源:AMF3ObjectWriter.cs


示例19: UncheckedGetServiceForMessage

        private IService UncheckedGetServiceForMessage(IActionScriptSerializer serializer, IMessage message)
        {
            IService service;

            CommandMessage commandMessage = message as CommandMessage;
            if (commandMessage != null && ! String.IsNullOrEmpty(commandMessage.MessageRefType))
            {
                service = UncheckedGetServiceForMessageClassAlias(commandMessage.MessageRefType);
                if (service != null)
                    return service;
            }

            string classAlias = serializer.GetClassAlias(message.GetType());
            service = UncheckedGetServiceForMessageClassAlias(classAlias);
            return service;
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:16,代码来源:DefaultMessageBroker.cs


示例20: AcceptVisitor

 /// <summary>
 /// Invokes the method on the visitor that corresponds with the type of the value.
 /// </summary>
 /// <param name="serializer">The serializer to use</param>
 /// <param name="visitor">The visitor</param>
 public abstract void AcceptVisitor(IActionScriptSerializer serializer, IASValueVisitor visitor);
开发者ID:mgagne-atman,项目名称:Projects,代码行数:6,代码来源:BaseASValue.cs



注:本文中的IActionScriptSerializer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IActivatedEventArgs类代码示例发布时间:2022-05-24
下一篇:
C# IActionProjection类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap