Cake.Web.Docs.BaseTypeFinder.FindBaseType C# (CSharp) Метод

FindBaseType() публичный Метод

public FindBaseType ( DocumentedType type ) : DocumentedType
type DocumentedType
Результат DocumentedType
        public DocumentedType FindBaseType(DocumentedType type)
        {
            var baseType = type.Definition.BaseType;
            if (baseType != null)
            {
                if (baseType.FullName != "System.Object" && baseType.FullName != "System.ValueType")
                {
                    DocumentedType value = null;
                    _lookup.TryGetValue(baseType.FullName, out value);
                    return value;
                }
            }
            return null;
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Generates a document model from a <see cref="ReflectionModel"/>
        /// and a <see cref="XmlDocumentationModel"/>.
        /// </summary>
        /// <param name="reflectionModel">The reflection model.</param>
        /// <param name="xmlModel">The XML documentation model.</param>
        /// <returns>A document model.</returns>
        public static DocumentModel Map(ReflectionModel reflectionModel, XmlDocumentationModel xmlModel)
        {
            var assemblies = new List <DocumentedAssembly>();

            // Iterate all assemblies.
            foreach (var assembly in reflectionModel.Assemblies)
            {
                assemblies.Add(MapAssembly(assembly, xmlModel));
            }

            // Create the document model.
            var model = new DocumentModel(assemblies);

            // Map extension methods.
            var finder     = new ExtensionMethodFinder(model);
            var namespaces = model.Assemblies.SelectMany(a => a.Namespaces).ToArray();

            foreach (var @namespace in namespaces)
            {
                foreach (var type in @namespace.Types)
                {
                    type.SetExtensionMethods(finder.FindExtensionMethods(type));
                }
            }

            // Map base types methods.
            var baseTypeFinder = new BaseTypeFinder(model);

            foreach (var @namespace in namespaces)
            {
                foreach (var type in @namespace.Types)
                {
                    type.BaseType = baseTypeFinder.FindBaseType(type);
                }
            }

            // Build namespace trees and map them.
            var trees = DocumentedNamespaceTree.Build(namespaces);

            foreach (var @namespace in namespaces)
            {
                if (trees.ContainsKey(@namespace.Identity))
                {
                    @namespace.Tree = trees[@namespace.Identity];
                }
            }

            return(model);
        }
All Usage Examples Of Cake.Web.Docs.BaseTypeFinder::FindBaseType