/// <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; }