コード例 #1
0
        public static NamespaceMetadata MapToModel(DTGNamespaceMetadata namespaceMetadata)
        {
            var m_NamespaceName = namespaceMetadata.NamespaceName;

            //May be even more beneficial to create all types from all namespaces beforehand
            foreach (var type in namespaceMetadata.Types)
            {
                HelperDictonaries.TypeDictonaryForModel[type] = TypeMapper.MapToModel(type);
            }
            var m_Types = from type in namespaceMetadata.Types orderby type.TypeName select TypeMapper.FillTypeModel(HelperDictonaries.TypeDictonaryForModel[type], type);

            NamespaceMetadata namespaceModel = new NamespaceMetadata
            {
                NamespaceName = m_NamespaceName,
                Types         = m_Types
            };

            return(namespaceModel);
        }
コード例 #2
0
ファイル: TypeMapper.cs プロジェクト: Hyphen133/TPA_Project
        internal static TypeMetadata EmitReferenceModel(DTGTypeMetadata type)
        {
            if (type == null)
            {
                return(null);
            }
            if (HelperDictonaries.TypeDictonaryForModel.ContainsKey(type))
            {
                return(HelperDictonaries.TypeDictonaryForModel[type]);
            }


            if (!type.IsGenericType)
            {
                HelperDictonaries.TypeDictonaryForModel[type] = MapToModel(type);

                return(HelperDictonaries.TypeDictonaryForModel[type]);
            }
            else
            {
                return(TypeMapper.MapToModel(type));
            }
        }