public override int GetHashCode()
        {
            int hash = 1;

            if (ResourceName.Length != 0)
            {
                hash ^= ResourceName.GetHashCode();
            }
            if (HasSharedSet)
            {
                hash ^= SharedSet.GetHashCode();
            }
            if (HasCriterionId)
            {
                hash ^= CriterionId.GetHashCode();
            }
            if (Type != global::Google.Ads.GoogleAds.V10.Enums.CriterionTypeEnum.Types.CriterionType.Unspecified)
            {
                hash ^= Type.GetHashCode();
            }
            if (criterionCase_ == CriterionOneofCase.Keyword)
            {
                hash ^= Keyword.GetHashCode();
            }
            if (criterionCase_ == CriterionOneofCase.YoutubeVideo)
            {
                hash ^= YoutubeVideo.GetHashCode();
            }
            if (criterionCase_ == CriterionOneofCase.YoutubeChannel)
            {
                hash ^= YoutubeChannel.GetHashCode();
            }
            if (criterionCase_ == CriterionOneofCase.Placement)
            {
                hash ^= Placement.GetHashCode();
            }
            if (criterionCase_ == CriterionOneofCase.MobileAppCategory)
            {
                hash ^= MobileAppCategory.GetHashCode();
            }
            if (criterionCase_ == CriterionOneofCase.MobileApplication)
            {
                hash ^= MobileApplication.GetHashCode();
            }
            hash ^= (int)criterionCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }