Пример #1
0
        public bool Equals(ComposablePartDefinition?other)
        {
            if (other == null)
            {
                return(false);
            }

            if (object.ReferenceEquals(this, other))
            {
                return(true);
            }

            bool result = EqualityComparer <TypeRef> .Default.Equals(this.TypeRef, other.TypeRef) &&
                          ByValueEquality.Metadata.Equals(this.Metadata, other.Metadata) &&
                          this.SharingBoundary == other.SharingBoundary &&
                          this.IsSharingBoundaryInferred == other.IsSharingBoundaryInferred &&
                          this.CreationPolicy == other.CreationPolicy &&
                          this.OnImportsSatisfiedMethodRefs.SequenceEqual(other.OnImportsSatisfiedMethodRefs, EqualityComparer <MethodRef?> .Default) &&
                          ByValueEquality.EquivalentIgnoreOrder <ExportDefinition>().Equals(this.ExportedTypes, other.ExportedTypes) &&
                          ByValueEquality.Dictionary <MemberRef, IReadOnlyCollection <ExportDefinition> >(ByValueEquality.EquivalentIgnoreOrder <ExportDefinition>()).Equals(this.ExportingMembers, other.ExportingMembers) &&
                          EqualityComparer <MethodRef?> .Default.Equals(this.ImportingConstructorOrFactoryRef, other.ImportingConstructorOrFactoryRef) &&
                          this.ImportingMembers.SetEquals(other.ImportingMembers) &&
                          ((this.ImportingConstructorImports == null && other.ImportingConstructorImports == null) || (this.ImportingConstructorImports != null && other.ImportingConstructorImports != null && this.ImportingConstructorImports.SequenceEqual(other.ImportingConstructorImports)));

            return(result);
        }
Пример #2
0
        public bool Equals(RuntimeComposition other)
        {
            if (other == null)
            {
                return(false);
            }

            return(this.parts.SetEquals(other.parts) &&
                   ByValueEquality.Dictionary <TypeRef, RuntimeExport>().Equals(this.metadataViewsAndProviders, other.metadataViewsAndProviders));
        }
Пример #3
0
        public bool Equals(IImportSatisfiabilityConstraint obj)
        {
            var other = obj as ImportMetadataViewConstraint;

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

            return(ByValueEquality.Dictionary <string, MetadatumRequirement>().Equals(this.Requirements, other.Requirements));
        }
Пример #4
0
        public bool Equals(ImportDefinition other)
        {
            if (other == null)
            {
                return(false);
            }

            bool result = this.ContractName == other.ContractName &&
                          this.Cardinality == other.Cardinality &&
                          ByValueEquality.Metadata.Equals(this.Metadata, other.Metadata) &&
                          ByValueEquality.EquivalentIgnoreOrder <IImportSatisfiabilityConstraint>().Equals(this.ExportConstraints, other.ExportConstraints) &&
                          ByValueEquality.EquivalentIgnoreOrder <string>().Equals(this.ExportFactorySharingBoundaries, other.ExportFactorySharingBoundaries);

            return(result);
        }
Пример #5
0
            public bool Equals(RuntimePart other)
            {
                if (other == null)
                {
                    return(false);
                }

                bool result = EqualityComparer <TypeRef> .Default.Equals(this.TypeRef, other.TypeRef) &&
                              EqualityComparer <MethodRef> .Default.Equals(this.ImportingConstructorOrFactoryMethodRef, other.ImportingConstructorOrFactoryMethodRef) &&
                              this.ImportingConstructorArguments.SequenceEqual(other.ImportingConstructorArguments) &&
                              ByValueEquality.EquivalentIgnoreOrder <RuntimeImport>().Equals(this.ImportingMembers, other.ImportingMembers) &&
                              ByValueEquality.EquivalentIgnoreOrder <RuntimeExport>().Equals(this.Exports, other.Exports) &&
                              EqualityComparer <MethodRef> .Default.Equals(this.OnImportsSatisfiedRef, other.OnImportsSatisfiedRef) &&
                              this.SharingBoundary == other.SharingBoundary;

                return(result);
            }
Пример #6
0
            public bool Equals(RuntimeImport other)
            {
                if (other == null)
                {
                    return(false);
                }

                bool result = EqualityComparer <TypeRef> .Default.Equals(this.ImportingSiteTypeRef, other.ImportingSiteTypeRef) &&
                              this.Cardinality == other.Cardinality &&
                              ByValueEquality.EquivalentIgnoreOrder <RuntimeExport>().Equals(this.SatisfyingExports, other.SatisfyingExports) &&
                              this.IsNonSharedInstanceRequired == other.IsNonSharedInstanceRequired &&
                              ByValueEquality.Metadata.Equals(this.Metadata, other.Metadata) &&
                              ByValueEquality.EquivalentIgnoreOrder <string>().Equals(this.ExportFactorySharingBoundaries, other.ExportFactorySharingBoundaries) &&
                              EqualityComparer <MemberRef> .Default.Equals(this.ImportingMemberRef, other.ImportingMemberRef) &&
                              EqualityComparer <ParameterRef> .Default.Equals(this.ImportingParameterRef, other.ImportingParameterRef);

                return(result);
            }