public static bool CompareScopeReferenceToDefinition(ScopeReferenceHandle sr1, MetadataReader mr1, ScopeDefinitionHandle sd2, MetadataReader mr2)
        {
            ScopeReference  srData1 = mr1.GetScopeReference(sr1);
            ScopeDefinition sdData2 = mr2.GetScopeDefinition(sd2);

            if (!srData1.Name.StringEquals(sdData2.Name.GetConstantStringValue(mr2).Value, mr1))
            {
                return(false);
            }

            if (!srData1.Culture.StringEquals(sdData2.Culture.GetConstantStringValue(mr2).Value, mr1))
            {
                return(false);
            }

            if (srData1.MajorVersion != sdData2.MajorVersion)
            {
                return(false);
            }

            if (srData1.MinorVersion != sdData2.MinorVersion)
            {
                return(false);
            }

            if (srData1.RevisionNumber != sdData2.RevisionNumber)
            {
                return(false);
            }

            if (srData1.BuildNumber != sdData2.BuildNumber)
            {
                return(false);
            }

            return(ComparePublicKeyOrTokens(srData1.PublicKeyOrToken, srData1.Flags.HasFlag(AssemblyFlags.PublicKey), sdData2.PublicKey, sdData2.Flags.HasFlag(AssemblyFlags.PublicKey)));
        }
Example #2
0
        public static bool CompareScopeReferenceToDefinition(ScopeReferenceHandle sr1, MetadataReader mr1, ScopeDefinitionHandle sd2, MetadataReader mr2)
        {
            ScopeReference srData1 = mr1.GetScopeReference(sr1);
            ScopeDefinition sdData2 = mr2.GetScopeDefinition(sd2);
            if (!srData1.Name.StringEquals(sdData2.Name.GetConstantStringValue(mr2).Value, mr1))
                return false;

            if (!srData1.Culture.StringEquals(sdData2.Culture.GetConstantStringValue(mr2).Value, mr1))
                return false;

            if (srData1.MajorVersion != sdData2.MajorVersion)
                return false;

            if (srData1.MinorVersion != sdData2.MinorVersion)
                return false;

            if (srData1.RevisionNumber != sdData2.RevisionNumber)
                return false;

            if (srData1.BuildNumber != sdData2.BuildNumber)
                return false;

            return ComparePublicKeyOrTokens(srData1.PublicKeyOrToken, srData1.Flags.HasFlag(AssemblyFlags.PublicKey), sdData2.PublicKey, sdData2.Flags.HasFlag(AssemblyFlags.PublicKey));
        }