Beispiel #1
0
        private static string GetFullTypeName(IMetaDataImportPrivate import, uint token)
        {
            uint actualNameLength;
            uint typeDefFlags;
            uint baseTypeToken;

            var fullTypeName    = new StringBuilder(MaxClassNameLength);
            var currentTypeName = new StringBuilder(MaxClassNameLength + 1, MaxClassNameLength + 1);

            while (token != 0)
            {
                currentTypeName.Length = 0;

                import.GetTypeDefProps(token, currentTypeName, MaxClassNameLength, out actualNameLength, out typeDefFlags, out baseTypeToken);

                if (fullTypeName.Length > 0)
                {
                    currentTypeName.Append('+');
                }

                fullTypeName.Insert(0, currentTypeName.ToString());

                if (IsTdNested(typeDefFlags))
                {
                    import.GetNestedClassProps(token, out token);
                }
                else
                {
                    token = 0;
                }
            }

            return(fullTypeName.ToString());
        }
        private static string GetFullTypeName(IMetaDataImportPrivate import, uint token)
        {
            uint actualNameLength;
            uint typeDefFlags;
            uint baseTypeToken;

            var fullTypeName = new StringBuilder(MaxClassNameLength);
            var currentTypeName = new StringBuilder(MaxClassNameLength + 1, MaxClassNameLength + 1);

            while (token != 0)
            {
                currentTypeName.Length = 0;

                import.GetTypeDefProps(token, currentTypeName, MaxClassNameLength, out actualNameLength, out typeDefFlags, out baseTypeToken);

                if (fullTypeName.Length > 0)
                {
                    currentTypeName.Append('+');
                }

                fullTypeName.Insert(0, currentTypeName.ToString());

                if (IsTdNested(typeDefFlags))
                {
                    import.GetNestedClassProps(token, out token);
                }
                else
                {
                    token = 0;
                }
            }

            return fullTypeName.ToString();
        }