예제 #1
0
        public virtual object Clone()
        {
            DefaultPropertyConfig <K, V> copy = (DefaultPropertyConfig <K, V>)MemberwiseClone();

            if (_valueConverters != null)
            {
                copy._valueConverters = ImmutableList.CreateRange(_valueConverters);
            }
            return(copy);
        }
예제 #2
0
        public override bool Equals(object other)
        {
            if (object.ReferenceEquals(this, other))
            {
                return(true);
            }

            if (other == null)
            {
                return(false);
            }

            if (GetType() != other.GetType())
            {
                return(false);
            }

            if (GetHashCode() != other.GetHashCode())
            {
                return(false);
            }

            DefaultPropertyConfig <K, V> propertyConfig = (DefaultPropertyConfig <K, V>)other;

            if (!object.Equals(_key, propertyConfig._key))
            {
                return(false);
            }

            if (!object.Equals(_defaultValue, propertyConfig._defaultValue))
            {
                return(false);
            }

            if (!_valueConverters.Equal(propertyConfig._valueConverters))
            {
                return(false);
            }

            if (!object.Equals(_valueFilter, propertyConfig._valueFilter))
            {
                return(false);
            }

            return(true);
        }
예제 #3
0
 protected DefaultAbstractBuilder()
 {
     _config = (DefaultPropertyConfig <K, V>)(object) NewConfig();
 }