예제 #1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (TrainerBaseId != 0UL)
            {
                hash ^= TrainerBaseId.GetHashCode();
            }
            if (ActorId.Length != 0)
            {
                hash ^= ActorId.GetHashCode();
            }
            if (TrainerNameId.Length != 0)
            {
                hash ^= TrainerNameId.GetHashCode();
            }
            if (U4 != 0)
            {
                hash ^= U4.GetHashCode();
            }
            if (U5.Length != 0)
            {
                hash ^= U5.GetHashCode();
            }
            if (U6 != 0)
            {
                hash ^= U6.GetHashCode();
            }
            if (U7 != 0)
            {
                hash ^= U7.GetHashCode();
            }
            if (Gender != 0)
            {
                hash ^= Gender.GetHashCode();
            }
            if (PokeballId.Length != 0)
            {
                hash ^= PokeballId.GetHashCode();
            }
            if (IsGeneric != 0)
            {
                hash ^= IsGeneric.GetHashCode();
            }
            if (BattleBgmId.Length != 0)
            {
                hash ^= BattleBgmId.GetHashCode();
            }
            if (ResultBgmId.Length != 0)
            {
                hash ^= ResultBgmId.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
예제 #2
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = IsPredefined.GetHashCode();
         hashCode = (hashCode * 397) ^ (Text != null ? Text.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ IsGeneric.GetHashCode();
         hashCode = (hashCode * 397) ^ IsReferenceType.GetHashCode();
         return(hashCode);
     }
 }
예제 #3
0
        public IMatchingStrategy <PropertyInfo, TComp> Build()
        {
            var builder = new SerStrategyBuilder <TClass, TComp>();

            builder
            .Register(IsValueTypeValue.Or(IsString), new OnValueType <TClass, TComp>())
            .Register(IsNotValueTypeValue.And(IsNotString).And(IsNotGeneric.And(IsNotEnumerable)), new OnTypeValue <TClass, TComp>())
            .Register(IsValueTypeArray.Or(IsStringElement), new OnValueTypeArray <TClass, TComp>())
            .Register(IsNotValueTypeArray.And(IsNotStringElement), new OnTypeValueArray <TClass, TComp>())
            .Register(
                IsGeneric
                .And(IsGenericCollection)
                .And(IsGenericValueType.Or(IsGenericString))
                .And(IsNotGenericOfGeneric.Or(IsNotCollectionOfCollection)),
                new OnValueTypeCollection <TClass, TComp>())
            .Register(
                IsGeneric
                .And(IsGenericCollection)
                .And(IsNotGenericValueType.And(IsNotGenericString))
                .And(IsNotGenericOfGeneric.Or(IsNotCollectionOfCollection)),
                new OnTypeValueCollection <TClass, TComp>())
            .Register(
                IsGeneric
                .And(IsGenericCollection)
                .And(IsGenericOfGeneric.And(IsCollectionOfCollection))
                .And(IsValueTypeOfValueType.Or(IsStringOfString)),
                new OnValueTypeCollectionOfCollection <TClass, TComp>())
            .Register(
                IsGeneric
                .And(IsGenericCollection)
                .And(IsGenericOfGeneric.And(IsCollectionOfCollection))
                .And(IsNotValueTypeOfValueType.And(IsNotStringOfString)),
                new OnTypeValueCollectionOfCollection <TClass, TComp>());

            return(builder.Build());
        }
예제 #4
0
 protected bool Equals(TypeReference other)
 {
     return(IsPredefined.Equals(other.IsPredefined) && string.Equals(Text, other.Text) && IsGeneric.Equals(other.IsGeneric) && IsReferenceType.Equals(other.IsReferenceType));
 }