Exemplo n.º 1
0
        public override void WriteStartMember(XamlMember property)
        {
            if (deferredWriter != null)
            {
                deferredWriter.Writer.WriteStartMember(property);
                deferredWriter.DeferCount++;
                return;
            }

            if (property.IsUnknown)
            {
                throw new XamlObjectWriterException($"Cannot set unknown member '{property}'")
                      {
                          LineNumber   = line,
                          LinePosition = column
                      }
            }
            ;

            intl.WriteStartMember(property);

            var defer = property.DeferringLoader;

            if (defer != null)
            {
                deferredWriter = new DeferredWriter(sctx, defer.ConverterInstance);
                deferredWriter.DeferCount++;
                return;
            }
        }
Exemplo n.º 2
0
        public override void WriteEndMember()
        {
            if (deferredWriter != null)
            {
                if (--deferredWriter.DeferCount > 0)
                {
                    deferredWriter.Writer.WriteEndMember();
                    return;
                }
                intl.WriteDeferred(deferredWriter.Loader, deferredWriter.List, true);
                deferredWriter = null;
            }

            intl.WriteEndMember();
        }
Exemplo n.º 3
0
        public override void WriteEndObject()
        {
            if (deferredWriter != null)
            {
                deferredWriter.Writer.WriteEndObject();
                if (--deferredWriter.DeferCount > 0)
                {
                    return;
                }
                intl.WriteDeferred(deferredWriter.Loader, deferredWriter.List, false);
                deferredWriter = null;
            }

            intl.WriteEndObject();
        }
Exemplo n.º 4
0
        public override void WriteStartMember(XamlMember property)
        {
            if (deferredWriter != null)
            {
                deferredWriter.Writer.WriteStartMember(property);
                deferredWriter.DeferCount++;
                return;
            }

            intl.WriteStartMember(property);

            var defer = property.DeferringLoader;

            if (defer != null)
            {
                deferredWriter = new DeferredWriter(sctx, defer.ConverterInstance);
                deferredWriter.DeferCount++;
                return;
            }
        }
Exemplo n.º 5
0
		public override void WriteEndMember ()
		{
			if (deferredWriter != null)
			{
				if (--deferredWriter.DeferCount > 0)
				{
					deferredWriter.Writer.WriteEndMember();
					return;
				}
				intl.WriteDeferred(deferredWriter.Loader, deferredWriter.List, true);
				deferredWriter = null;
			}

			intl.WriteEndMember ();
		}
Exemplo n.º 6
0
		public override void WriteEndObject ()
		{
			if (deferredWriter != null)
			{
				deferredWriter.Writer.WriteEndObject();
				if (--deferredWriter.DeferCount > 0)
					return;
				intl.WriteDeferred(deferredWriter.Loader, deferredWriter.List, false);
				deferredWriter = null;
			}

			intl.WriteEndObject ();
		}
Exemplo n.º 7
0
		public override void WriteStartMember (XamlMember property)
		{
			if (deferredWriter != null)
			{
				deferredWriter.Writer.WriteStartMember(property);
				deferredWriter.DeferCount++;
				return;
			}

			intl.WriteStartMember (property);

			var defer = property.DeferringLoader;
			if (defer != null)
			{
				deferredWriter = new DeferredWriter(sctx, defer.ConverterInstance);
				deferredWriter.DeferCount++;
				return;
			}
		}