public ISymbolNamespace[] GetNamespaces()
        {
            int namespaceCount;

            HRESULT.ThrowOnFailure(_unmanaged.GetGlobalVariables(0, out namespaceCount, null));

            var unmanagedNamespaces = new ISymUnmanagedNamespace[namespaceCount];

            HRESULT.ThrowOnFailure(_unmanaged.GetNamespaces(unmanagedNamespaces.Length, out namespaceCount, unmanagedNamespaces));

            var namespaces = new ISymbolNamespace[namespaceCount];

            for (int i = 0; i < namespaceCount; i++)
            {
                namespaces[i] = new SymbolNamespace(unmanagedNamespaces[i]);
            }

            return(namespaces);
        }
        public ISymbolNamespace[] GetNamespaces()
        {
            int size;

            HRESULT.ThrowOnFailure(_unmanaged.GetNamespaces(0, out size, null));

            var unmanagedNamespaces = new ISymUnmanagedNamespace[size];

            HRESULT.ThrowOnFailure(_unmanaged.GetNamespaces(unmanagedNamespaces.Length, out size, unmanagedNamespaces));

            var namespaces = new ISymbolNamespace[size];

            for (int i = 0; i < size; i++)
            {
                namespaces[i] = new SymbolNamespace(unmanagedNamespaces[i]);
            }

            return(namespaces);
        }