public bool MatchAssemblies(IAssemblyDescriptor info1, IAssemblyDescriptor info2) { if (info1 == null && info2 == null) return true; if (info1 == null || info2 == null) return false; return info1.Name == info2.Name && info1.Version == info2.Version && info1.Culture == info2.Culture && ByteArrayMatches(info1.PublicKeyToken, info2.PublicKeyToken); }
public MsCorLibTypeSignature GetMscorlibType(ITypeDescriptor type) { SignatureComparer comparer = new SignatureComparer(); MsCorLibTypeSignature signature; if (!comparer.MatchAssemblies(type.ResolutionScope.GetAssembly(), MsCorLibReference) || type.Namespace != "System" || !_typesByName.TryGetValue(type.Name, out signature)) { return(null); } return(signature); }