public object this[string szFieldName]
        {
            get
            {
                CalculationOptionsRestoSham options = Character.CalculationOptions as CalculationOptionsRestoSham;
                Type         t        = options.GetType();
                PropertyInfo property = t.GetProperty(szFieldName);
                if (property != null)
                {
                    return(property.GetValue(options, null));
                }

                return(null);
            }
            set
            {
                CalculationOptionsRestoSham options = Character.CalculationOptions as CalculationOptionsRestoSham;
                Type         t        = options.GetType();
                PropertyInfo property = t.GetProperty(szFieldName);
                if (property != null)
                {
                    property.SetValue(options, value, null);
                }
            }
        }
        public object this[string szFieldName]
        {
            get
            {
                CalculationOptionsRestoSham options = Character.CalculationOptions as CalculationOptionsRestoSham;
                Type      t     = options.GetType();
                FieldInfo field = t.GetField(szFieldName);
                if (field != null)
                {
                    return(field.GetValue(options));
                }

                return(null);
            }
            set
            {
                CalculationOptionsRestoSham options = Character.CalculationOptions as CalculationOptionsRestoSham;
                Type      t     = options.GetType();
                FieldInfo field = t.GetField(szFieldName);
                if (field != null)
                {
                    field.SetValue(options, value);
                }
            }
        }