Пример #1
0
 /// <summary>
 /// Adds the elements of an array to the end of this LayoutRendererCollection.
 /// </summary>
 /// <param name="items">
 /// The array whose elements are to be added to the end of this LayoutRendererCollection.
 /// </param>
 public virtual void AddRange(LayoutRenderer[]items)
 {
     foreach (LayoutRenderer item in items)
     {
         this.List.Add(item);
     }
 }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the LayoutRendererCollection class, containing elements
 /// copied from an array.
 /// </summary>
 /// <param name="items">
 /// The array whose elements are to be added to the new LayoutRendererCollection.
 /// </param>
 public LayoutRendererCollection(LayoutRenderer[]items)
 {
     this.AddRange(items);
 }
Пример #3
0
 /// <summary>
 /// Inserts an element into the LayoutRendererCollection at the specified index
 /// </summary>
 /// <param name="index">
 /// The index at which the LayoutRenderer is to be inserted.
 /// </param>
 /// <param name="value">
 /// The LayoutRenderer to insert.
 /// </param>
 public virtual void Insert(int index, LayoutRenderer value)
 {
     this.List.Insert(index, value);
 }
Пример #4
0
 /// <summary>
 /// Removes the first occurrence of a specific LayoutRenderer from this LayoutRendererCollection.
 /// </summary>
 /// <param name="value">
 /// The LayoutRenderer value to remove from this LayoutRendererCollection.
 /// </param>
 public virtual void Remove(LayoutRenderer value)
 {
     this.List.Remove(value);
 }
Пример #5
0
 /// <summary>
 /// Determines whether a specfic LayoutRenderer value is in this LayoutRendererCollection.
 /// </summary>
 /// <param name="value">
 /// The LayoutRenderer value to locate in this LayoutRendererCollection.
 /// </param>
 /// <returns>
 /// true if value is found in this LayoutRendererCollection;
 /// false otherwise.
 /// </returns>
 public virtual bool Contains(LayoutRenderer value)
 {
     return this.List.Contains(value);
 }
Пример #6
0
 /// <summary>
 /// Return the zero-based index of the first occurrence of a specific value
 /// in this LayoutRendererCollection
 /// </summary>
 /// <param name="value">
 /// The LayoutRenderer value to locate in the LayoutRendererCollection.
 /// </param>
 /// <returns>
 /// The zero-based index of the first occurrence of the _ELEMENT value if found;
 /// -1 otherwise.
 /// </returns>
 public virtual int IndexOf(LayoutRenderer value)
 {
     return this.List.IndexOf(value);
 }
Пример #7
0
 /// <summary>
 /// Adds an instance of type LayoutRenderer to the end of this LayoutRendererCollection.
 /// </summary>
 /// <param name="value">
 /// The LayoutRenderer to be added to the end of this LayoutRendererCollection.
 /// </param>
 public virtual void Add(LayoutRenderer value)
 {
     this.List.Add(value);
 }
Пример #8
0
        private static void ApplyLayoutRendererParameters(LayoutRenderer target, string parameterString)
        {
            int pos = 0;

            while (pos < parameterString.Length)
            {
                int nameStartPos = pos;
                while (pos < parameterString.Length && Char.IsWhiteSpace(parameterString[pos]))
                {
                    pos++;
                }
                while (pos < parameterString.Length && parameterString[pos] != '=')
                {
                    pos++;
                }
                int nameEndPos = pos;
                if (nameStartPos == nameEndPos)
                    break;

                pos++;

                // we've got a name - now get a value
                //

                StringBuilder valueBuf = new StringBuilder();
                while (pos < parameterString.Length)
                {
                    if (parameterString[pos] == '\\')
                    {
                        valueBuf.Append(parameterString[pos + 1]);
                        pos += 2;
                    }
                    else if (parameterString[pos] == ':')
                    {
                        pos++;
                        break;
                    }
                    else
                    {
                        valueBuf.Append(parameterString[pos]);
                        pos++;
                    }
                }

                string name = parameterString.Substring(nameStartPos, nameEndPos - nameStartPos);
                string value = valueBuf.ToString();

                PropertyHelper.SetPropertyFromString(target, name, value, null);
            }
        }
Пример #9
0
 private static LayoutRenderer ConvertToLiteral(LayoutRenderer renderer)
 {
     StringBuilder sb = new StringBuilder();
     renderer.Append(sb, LogEventInfo.CreateNullEvent());
     return new LiteralLayoutRenderer(sb.ToString());
 }
Пример #10
0
 internal Layout(LayoutRenderer[] renderers, string text)
 {
     SetRenderers(renderers, text);
 }
Пример #11
0
        internal void SetRenderers(LayoutRenderer[] renderers, string text)
        {
            _renderers = renderers;
            if (_renderers.Length == 1 && _renderers[0] is LiteralLayoutRenderer)
                _fixedText = ((LiteralLayoutRenderer)(_renderers[0])).Text;
            else
                _fixedText = null;

            _layoutText = text;

            _isVolatile = false;
            _needsStackTrace = 0;

            foreach (LayoutRenderer lr in renderers)
            {
                int nst = lr.NeedsStackTrace();
                if (nst > _needsStackTrace)
                    _needsStackTrace = nst;
                if (lr.IsVolatile())
                    _isVolatile = true;
            }
        }