public AssemblyNamespace GetAssemblyNamespace()
 {
     if (!this.resolved)
     {
         this.resolved          = true;
         this.assemblyNamespace = this.namespaces.Resolve(this.assemblyName, this.clrNamespace);
     }
     return(this.assemblyNamespace);
 }
        public IType GetType(IXmlNamespace xmlNamespace, string typeName)
        {
            IType type = this.typeResolver.GetType(xmlNamespace, typeName);

            if (type == null)
            {
                AssemblyNamespace @namespace = this.GetNamespace(xmlNamespace);
                if (@namespace != null)
                {
                    type = @namespace.GetType(this.typeResolver, typeName);
                }
            }
            return(type);
        }
 public bool GetNamespace(IXmlNamespace xmlNamespace, out AssemblyNamespace assemblyNamespace)
 {
     ClrNamespaceUriParseCache.ClrNamespaceDeclaration namespaceDeclaration;
     if (!this.dictionary.TryGetValue(xmlNamespace, out namespaceDeclaration))
     {
         string clrNamespace;
         string assemblyName;
         if (!XamlParser.TryParseClrNamespaceUri(xmlNamespace.Value, out clrNamespace, out assemblyName))
         {
             assemblyNamespace = (AssemblyNamespace)null;
             return(false);
         }
         namespaceDeclaration = new ClrNamespaceUriParseCache.ClrNamespaceDeclaration(this, assemblyName, clrNamespace);
         this.dictionary.Add(xmlNamespace, namespaceDeclaration);
     }
     assemblyNamespace = namespaceDeclaration.GetAssemblyNamespace();
     return(true);
 }