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

C# EventReader类代码示例

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

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



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

示例1: YamlDocument

		/// <summary>
		/// Initializes a new instance of the <see cref="YamlDocument"/> class.
		/// </summary>
		/// <param name="events">The events.</param>
		internal YamlDocument(EventReader events)
		{
			DocumentLoadingState state = new DocumentLoadingState();

			events.Expect<DocumentStart>();

			while (!events.Accept<DocumentEnd>())
			{
				Debug.Assert(RootNode == null);
				RootNode = YamlNode.ParseNode(events, state);

				if (RootNode is YamlAliasNode)
				{
					throw new YamlException();
				}
			}

			state.ResolveAliases();

#if DEBUG
			foreach (var node in AllNodes)
			{
				if (node is YamlAliasNode)
				{
					throw new InvalidOperationException("Error in alias resolution.");
				}
			}
#endif

			events.Expect<DocumentEnd>();
		}
开发者ID:Cyberbanan,项目名称:Projeny,代码行数:35,代码来源:YamlDocument.cs


示例2: PopulateHeal

 protected void PopulateHeal( EventReader reader )
 {
     amount = reader.ReadInt32();
     overkill = reader.ReadInt32();
     absorbed = reader.ReadInt32();
     critical = reader.ReadString() != null;
 }
开发者ID:ZixThree,项目名称:WowLogAnalyzer,代码行数:7,代码来源:CombatLogEventHeal.cs


示例3: DeserializeScript

 protected virtual Script DeserializeScript(ReloadedScriptEntry reloadedScript)
 {
     var eventReader = new EventReader(new MemoryParser(reloadedScript.YamlEvents));
     var scriptCollection = (ScriptCollection)YamlSerializer.Deserialize(eventReader, null, typeof(ScriptCollection), log != null ? new SerializerContextSettings { Logger = new YamlForwardLogger(log) } : null);
     var script = scriptCollection.Count == 1 ? scriptCollection[0] : null;
     return script;
 }
开发者ID:releed,项目名称:paradox,代码行数:7,代码来源:AssemblyReloader.cs


示例4: InternalPopulate

 protected override void InternalPopulate( EventReader reader )
 {
     base.InternalPopulate(reader);
     enchant = reader.ReadString();
     itemId = reader.ReadInt32();
     itemName = reader.ReadString();
 }
开发者ID:ZixThree,项目名称:WowLogAnalyzer,代码行数:7,代码来源:EnchantApplied.cs


示例5: DeserializeValue

        public object DeserializeValue(EventReader reader, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)
        {
            var nodeEvent = reader.Peek<NodeEvent>();

            var nodeType = GetTypeFromEvent(nodeEvent, expectedType);

            try
            {
                foreach (var deserializer in deserializers)
                {
                    object value;
                    if (deserializer.Deserialize(reader, nodeType, (r, t) => nestedObjectDeserializer.DeserializeValue(r, t, state, nestedObjectDeserializer), out value))
                    {
                        return value;
                    }
                }
            }
            catch (YamlException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new YamlException(nodeEvent.Start, nodeEvent.End, "Exception during deserialization", ex);
            }

            throw new YamlException(
                nodeEvent.Start,
                nodeEvent.End,
                string.Format(
                    "No node deserializer was able to deserialize the node into type {0}",
                    expectedType.AssemblyQualifiedName
                )
            );
        }
开发者ID:t4world,项目名称:AssetGraph,代码行数:35,代码来源:NodeValueDeserializer.cs


示例6: nestedObjectDeserializer

		bool INodeDeserializer.Deserialize(EventReader reader, Type expectedType, Func<EventReader, Type, object> nestedObjectDeserializer, out object value)
		{
			if (!typeof(IList).IsAssignableFrom(expectedType))
			{
				value = false;
				return false;
			}

			reader.Expect<SequenceStart>();

			var list = (IList)_objectFactory.Create(expectedType);
			while (!reader.Accept<SequenceEnd>())
			{
				var item = nestedObjectDeserializer(reader, typeof(object));
				var promise = item as IValuePromise;
				if (promise == null)
				{
					list.Add(item);
				}
				else
				{
					var index = list.Count;
					list.Add(null);
					promise.ValueAvailable += v => list[index] = v;
				}
			}
			value = list;

			reader.Expect<SequenceEnd>();

			return true;
		}
开发者ID:ChelseaLing,项目名称:AssetGraph,代码行数:32,代码来源:NonGenericListNodeDeserializer.cs


示例7: YamlScalarNode

		/// <summary>
		/// Initializes a new instance of the <see cref="YamlScalarNode"/> class.
		/// </summary>
		/// <param name="events">The events.</param>
		/// <param name="state">The state.</param>
		internal YamlScalarNode(EventReader events, DocumentLoadingState state)
		{
			Scalar scalar = events.Expect<Scalar>();
			Load(scalar, state);
			Value = scalar.Value;
			Style = scalar.Style;
		}
开发者ID:modulexcite,项目名称:SharpYaml,代码行数:12,代码来源:YamlScalarNode.cs


示例8: Start

 // Use this for initialization
 void Start () {
     var input = new StringReader(Document);
     
     var deserializer = new Deserializer();
     
     var reader = new EventReader(new Parser(input));
     
     // Consume the stream start event "manually"
     reader.Expect<StreamStart>();
     
     var output = new StringBuilder();
     while(reader.Accept<DocumentStart>())
     {
         // Deserialize the document
         var doc = deserializer.Deserialize<List<string>>(reader);
     
         output.AppendLine("## Document");
         foreach(var item in doc)
         {
             output.AppendLine(item);
         }
     }    
     Debug.Log(output);
     
 }
开发者ID:Phrohdoh,项目名称:Projeny,代码行数:26,代码来源:Deserializing_multiple_documents.cs


示例9: ParseNode

		/// <summary>
		/// Parses the node represented by the next event in <paramref name="events" />.
		/// </summary>
		/// <param name="events">The events.</param>
		/// <param name="state">The state.</param>
		/// <returns>Returns the node that has been parsed.</returns>
		static internal YamlNode ParseNode(EventReader events, DocumentLoadingState state)
		{
			if (events.Accept<Scalar>())
			{
				return new YamlScalarNode(events, state);
			}

			if (events.Accept<SequenceStart>())
			{
				return new YamlSequenceNode(events, state);
			}

			if (events.Accept<MappingStart>())
			{
				return new YamlMappingNode(events, state);
			}

			if (events.Accept<AnchorAlias>())
			{
				AnchorAlias alias = events.Expect<AnchorAlias>();
				return state.GetNode(alias.Value, false, alias.Start, alias.End) ?? new YamlAliasNode(alias.Value);
			}

			throw new ArgumentException("The current event is of an unsupported type.", "events");
		}
开发者ID:Cyberbanan,项目名称:Projeny,代码行数:31,代码来源:YamlNode.cs


示例10: PopulateAuraEvent

 protected void PopulateAuraEvent( EventReader reader )
 {
     auraKind = reader.ReadEnum<CombatLogAuraKind>();
     if( reader.HasNextValue ) {
         // Note: seems to be used for absorb effects.
         amount = reader.ReadInt32();
     }
 }
开发者ID:ZixThree,项目名称:WowLogAnalyzer,代码行数:8,代码来源:CombatLogEventAura.cs


示例11: InternalPopulate

 protected override void InternalPopulate( EventReader reader )
 {
     base.InternalPopulate(reader);
     spell = reader.ReadSpell();
     PopulateAuraEvent(reader);
     if( reader.HasNextValue ) {
         unknown1 = reader.ReadString();
         unknown2 = reader.ReadString();
     }
 }
开发者ID:ZixThree,项目名称:WowLogAnalyzer,代码行数:10,代码来源:SpellAuraApplied.cs


示例12:

		bool INodeDeserializer.Deserialize(EventReader reader, Type expectedType, Func<EventReader, Type, object> nestedObjectDeserializer, out object value)
		{
			var converter = converters.FirstOrDefault(c => c.Accepts(expectedType));
			if (converter == null)
			{
				value = null;
				return false;
			}

			value = converter.ReadYaml(reader.Parser, expectedType);
			return true;
		}
开发者ID:ChelseaLing,项目名称:AssetGraph,代码行数:12,代码来源:TypeConverterNodeDeserializer.cs


示例13: PopulateDamageEvent

 protected void PopulateDamageEvent( EventReader reader )
 {
     amount = reader.ReadInt32();
     overkill = reader.ReadInt32();
     damageSchool = (CombatLogSpellSchool)reader.ReadUInt32();
     resisted = reader.ReadInt32();
     blocked = reader.ReadInt32();
     absorbed = reader.ReadInt32();
     critical = reader.ReadString() != null;
     glancing = reader.ReadString() != null;
     crushing = reader.ReadString() != null;
 }
开发者ID:ZixThree,项目名称:WowLogAnalyzer,代码行数:12,代码来源:CombatLogEventDamage.cs


示例14: NodeIsNull

		bool INodeDeserializer.Deserialize(EventReader reader, Type expectedType, Func<EventReader, Type, object> nestedObjectDeserializer, out object value)
		{
			value = null;
			var evt = reader.Peek<NodeEvent>();
			var isNull = evt != null
				&& NodeIsNull(evt);

			if (isNull)
			{
				reader.SkipThisAndNestedEvents();
			}
			return isNull;
		}
开发者ID:Cyberbanan,项目名称:Projeny,代码行数:13,代码来源:NullNodeDeserializer.cs


示例15: Deserialize

 public bool Deserialize(EventReader reader, Type expectedType,
     Func<EventReader, Type, object> nestedObjectDeserializer,
     out object value)
 {
     if (_nodeDeserializer.Deserialize(reader, expectedType,
         nestedObjectDeserializer, out value))
     {
         if (((Data)value).Name == null) 
         {
             Debug.Log("ValidatingNodeDeserializer found that 'Name' was missing or null");
         }
         return true;
     }
     return false;
 }
开发者ID:Phrohdoh,项目名称:Projeny,代码行数:15,代码来源:Validating_during_deserialization.cs


示例16: ArrayList

        bool INodeDeserializer.Deserialize(EventReader reader, Type expectedType, Func<EventReader, Type, object> nestedObjectDeserializer, out object value)
        {
            if (!expectedType.IsArray)
            {
                value = false;
                return false;
            }

            var itemType = expectedType.GetElementType();

            var items = new ArrayList();
            CollectionNodeDeserializer.DeserializeHelper(itemType, reader, expectedType, nestedObjectDeserializer, items, true);

            var array = Array.CreateInstance(itemType, items.Count);
            items.CopyTo(array, 0);

            value = array;
            return true;
        }
开发者ID:t4world,项目名称:AssetGraph,代码行数:19,代码来源:ArrayNodeDeserializer.cs


示例17: GetData

    private static object GetData(EventReader r)
    {
        if(r.Accept<Scalar>())
        {
            return r.Expect<Scalar>().Value;
        }
        else if(r.Accept<SequenceStart>()) {
            var seq = new ArrayList();

            r.Expect<SequenceStart>();

            while(!r.Accept<SequenceEnd>())
            {
                seq.Add(GetData(r));
            }

            r.Expect<SequenceEnd>();

            // Arrays are IStructuralEquatable, ArrayLists are not.
            return seq.ToArray();
        }
        else if(r.Accept<MappingStart>())
        {
            // Since we use sequences as keys...
            var map = new OrderedDictionary(StructuralComparisons.StructuralEqualityComparer);

            r.Expect<MappingStart>();

            while(!r.Accept<MappingEnd>())
            {
                object key = GetData(r);
                object value = GetData(r);
                map.Add(key, value);
            }

            r.Expect<MappingEnd>();

            return map;
        }
        else {
            throw new YamlException();
        }
    }
开发者ID:miracle2k,项目名称:onkyo-eiscp-dotnet,代码行数:43,代码来源:Program.cs


示例18: nestedObjectDeserializer

		bool INodeDeserializer.Deserialize(EventReader reader, Type expectedType, Func<EventReader, Type, object> nestedObjectDeserializer, out object value)
		{
			var mapping = reader.Allow<MappingStart>();
			if (mapping == null)
			{
				value = null;
				return false;
			}
			
			value = _objectFactory.Create(expectedType);
			while (!reader.Accept<MappingEnd>())
			{
				var propertyName = reader.Expect<Scalar>();
				var property = _typeDescriptor.GetProperty(expectedType, null, propertyName.Value, _ignoreUnmatched);
				if (property == null)
				{
					reader.SkipThisAndNestedEvents();
					continue;
				}

				var propertyValue = nestedObjectDeserializer(reader, property.Type);
				var propertyValuePromise = propertyValue as IValuePromise;
				if (propertyValuePromise == null)
				{
					var convertedValue = TypeConverter.ChangeType(propertyValue, property.Type);
					property.Write(value, convertedValue);
				}
				else
				{
					var valueRef = value;
					propertyValuePromise.ValueAvailable += v =>
					{
						var convertedValue = TypeConverter.ChangeType(v, property.Type);
						property.Write(valueRef, convertedValue);
					};
				}
			}

			reader.Expect<MappingEnd>();
			return true;
		}
开发者ID:Cyberbanan,项目名称:Projeny,代码行数:41,代码来源:ObjectNodeDeserializer.cs


示例19: typeof

		bool INodeDeserializer.Deserialize(EventReader reader, Type expectedType, Func<EventReader, Type, object> nestedObjectDeserializer, out object value)
		{
			Type itemsType;
			if (expectedType == typeof(IEnumerable))
			{
				itemsType = typeof(object);
			}
			else
			{
				var iEnumerable = ReflectionUtility.GetImplementedGenericInterface(expectedType, typeof(IEnumerable<>));
				if (iEnumerable != expectedType)
				{
					value = null;
					return false;
				}

				itemsType = iEnumerable.GetGenericArguments()[0];
			}

			var collectionType = typeof(List<>).MakeGenericType(itemsType);
			value = nestedObjectDeserializer(reader, collectionType);
			return true;
		}
开发者ID:ActivePHOENiX,项目名称:YamlDotNet,代码行数:23,代码来源:EnumerableNodeDeserializer.cs


示例20: DeserializeValue

		public object DeserializeValue (EventReader reader, Type expectedType, SerializerState state, IValueDeserializer nestedObjectDeserializer)
		{
			var nodeEvent = reader.Peek<NodeEvent>();

			var nodeType = GetTypeFromEvent(nodeEvent, expectedType);

			foreach (var deserializer in deserializers)
			{
				object value;
				if (deserializer.Deserialize(reader, nodeType, (r, t) => nestedObjectDeserializer.DeserializeValue(r, t, state, nestedObjectDeserializer), out value))
				{
					return value;
				}
			}

			throw new SerializationException(
				string.Format(
					"No node deserializer was able to deserialize the node at {0} into type {1}",
					reader.Parser.Current.Start,
					expectedType.AssemblyQualifiedName
				)
			);
		}
开发者ID:danieldeb,项目名称:EventStore,代码行数:23,代码来源:NodeValueDeserializer.cs



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C# EventRecord类代码示例发布时间:2022-05-24
下一篇:
C# EventRaisingClass类代码示例发布时间: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