/// <summary>
        /// Create an instance from a <see cref="ConverterInfo"/>, instantiating it's <see cref="PatternConverter"/>.
        /// </summary>
        /// <remarks>
        /// Properties["option"] (a <see cref="String"/>) can be used to set an option on the converter instance.
        /// </remarks>
        /// <remarks>
        /// Properties are only supported in log4net 1.2.11 and later.
        /// </remarks>
        /// <param name="info"></param>
        public RawCallLayout(ConverterInfo info)
        {
            Name = info.Name;

            var conv = (PatternConverter)Activator.CreateInstance(info.Type);

#if !LOG4NET_1_2_10_COMPATIBLE
            conv.Properties = info.Properties;

            if (info.Properties.Contains("option"))
            {
                conv.Option = Convert.ToString(info.Properties["option"]);
            }
#endif

            if (conv is IOptionHandler)
            {
                ((IOptionHandler)conv).ActivateOptions();
            }

            m_getter = (e) => Format(conv, e);
            m_info   = info;
        }
 /// <summary>
 /// Create a named instance from a (lambda) function
 /// </summary>
 /// <param name="name">conversion name</param>
 /// <param name="getter">function</param>
 public RawCallLayout(string name, RawCallDelegate getter)
 {
     Name     = name;
     m_getter = getter;
 }