/// <summary>
		/// Load class defined into the string parameters.
		/// Use 'classname' tag to define class and try to pass string parameters to configure it. Class must be IVarFormatter.
		/// </summary>
		/// <returns></returns>
		protected virtual void LoadCustomClass(){
			
			IDictionary<string,string> parameters = GetFormatterParametersData();
			if(parameters == null)throw new ArgumentNullException("Class Name");
			
			if(!parameters.ContainsKey(ClassNameTag)){
				throw new ArgumentNullException("Class Name");
			}
			
			string className = parameters[ClassNameTag];
			Type tLoad = AssembliesTypesLoader.GetType( className );
			if(tLoad == null)throw new Exception("Class '"+className+"' not found!");
			
			object objLoad = null;
			try{
				objLoad = Activator.CreateInstance( tLoad, new object[]{ FormatterParameters } );//string constructor first
			}catch(Exception){
				//if crashes use anonymous constructor..
				try{
					objLoad = Activator.CreateInstance( tLoad, new object[]{} );
				}catch(Exception){	}
			}
			
			if(objLoad == null) throw new Exception("Object invocation failed!");
			
			if(!(objLoad is IVarFormatter))throw new InvalidCastException("Object isn't IVarFormatter");
			
			this._customFormatter = (IVarFormatter)objLoad;	
		}
        /// <summary>
        /// Load class defined into the string parameters.
        /// Use 'classname' tag to define class and try to pass string parameters to configure it. Class must be IVarFormatter.
        /// </summary>
        /// <returns></returns>
        protected virtual void LoadCustomClass()
        {
            IDictionary <string, string> parameters = GetFormatterParametersData();

            if (parameters == null)
            {
                throw new ArgumentNullException("Class Name");
            }

            if (!parameters.ContainsKey(ClassNameTag))
            {
                throw new ArgumentNullException("Class Name");
            }

            string className = parameters[ClassNameTag];
            Type   tLoad     = AssembliesTypesLoader.GetType(className);

            if (tLoad == null)
            {
                throw new Exception("Class '" + className + "' not found!");
            }

            object objLoad = null;

            try{
                objLoad = Activator.CreateInstance(tLoad, new object[] { FormatterParameters });                 //string constructor first
            }catch (Exception) {
                //if crashes use anonymous constructor..
                try{
                    objLoad = Activator.CreateInstance(tLoad, new object[] {});
                }catch (Exception) {      }
            }

            if (objLoad == null)
            {
                throw new Exception("Object invocation failed!");
            }

            if (!(objLoad is IVarFormatter))
            {
                throw new InvalidCastException("Object isn't IVarFormatter");
            }

            this._customFormatter = (IVarFormatter)objLoad;
        }
Exemple #3
0
 /// <summary>
 /// Create custom formatable var.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="optional"></param>
 /// <param name="format"></param>
 /// <param name="formatParameters"></param>
 public FormatableVariable(string name, bool optional, DefaultFormat format, string formatParameters) : base(name, optional)
 {
     _formatter = GetFormatter(format, formatParameters);
 }
Exemple #4
0
 /// <summary>
 /// Create custom formatable var.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="optional"></param>
 /// <param name="formatter"></param>
 public FormatableVariable(string name, bool optional, IVarFormatter formatter) : base(name, optional)
 {
     _formatter = formatter;
 }
Exemple #5
0
 /// <summary>
 /// Create a default TEXT variable.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="optional"></param>
 public FormatableVariable(string name, bool optional) : base(name, optional)
 {
     _formatter = new TextVarFormatter();
 }
Exemple #6
0
 /// <summary>
 /// Create custom formatable var.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="format"></param>
 /// <param name="formatParameters"></param>
 public FormatableVariable(string name, DefaultFormat format, string formatParameters) : base(name)
 {
     _formatter = GetFormatter(format, formatParameters);
 }
Exemple #7
0
 /// <summary>
 /// Create custom formatable var.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="formatter"></param>
 public FormatableVariable(string name, IVarFormatter formatter) : base(name)
 {
     _formatter = formatter;
 }
Exemple #8
0
 /// <summary>
 /// Create a default TEXT variable.
 /// </summary>
 /// <param name="name"></param>
 public FormatableVariable(string name) : base(name)
 {
     _formatter = new TextVarFormatter();
 }
		/// <summary>
		/// Create custom formatable var.
		/// </summary>
		/// <param name="name"></param>
		/// <param name="optional"></param>
		/// <param name="formatter"></param>
		public FormatableVariable( string name,  bool optional, IVarFormatter formatter):base( name,optional )
		{
			_formatter = formatter;
		}
		/// <summary>
		/// Create a default TEXT variable.
		/// </summary>
		/// <param name="name"></param>
		/// <param name="optional"></param>
		public FormatableVariable( string name , bool optional):base( name, optional )
		{
			_formatter = new TextVarFormatter();
		}
		/// <summary>
		/// Create custom formatable var.
		/// </summary>
		/// <param name="name"></param>
		/// <param name="format"></param>
		/// <param name="formatParameters"></param>
		public FormatableVariable( string name, DefaultFormat format, string formatParameters):base( name )
		{			
			_formatter = GetFormatter( format, formatParameters );
		}
		/// <summary>
		/// Create custom formatable var.
		/// </summary>
		/// <param name="name"></param>
		/// <param name="formatter"></param>
		public FormatableVariable( string name, IVarFormatter formatter):base( name )
		{
			_formatter = formatter;
		}
		/// <summary>
		/// Create a default TEXT variable.
		/// </summary>
		/// <param name="name"></param>
		public FormatableVariable( string name ):base( name )
		{
			_formatter = new TextVarFormatter();
		}
		/// <summary>
		/// Create custom formatable var.
		/// </summary>
		/// <param name="name"></param>
		/// <param name="optional"></param>
		/// <param name="format"></param>
		/// <param name="formatParameters"></param>
		public FormatableVariable( string name, bool optional, DefaultFormat format, string formatParameters):base( name, optional )
		{			
			_formatter = GetFormatter( format, formatParameters );
		}