// override object.Equals
        public override bool Equals(object obj)
        {
            //
            // See the full list of guidelines at
            //   http://go.microsoft.com/fwlink/?LinkID=85237
            // and also the guidance for operator== at
            //   http://go.microsoft.com/fwlink/?LinkId=85238
            //

            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            DefaultRuleConfigurationParameter theObj = (DefaultRuleConfigurationParameter)obj;

            if (ParameterType.Equals(theObj.ParameterType) == false)
            {
                return(false);
            }
            if (Name.Equals(theObj.Name) == false)
            {
                return(false);
            }
            if (Value.Equals(theObj.Value) == false)
            {
                return(false);
            }
            return(true);
        }