示例#1
0
        public static SyntaxDetailViewModel FromModel(SyntaxDetail model)
        {
            if (model == null)
            {
                return(null);
            }
            var result = new SyntaxDetailViewModel
            {
                Parameters     = model.Parameters,
                TypeParameters = model.TypeParameters,
                Return         = model.Return,
            };

            if (model.Content != null && model.Content.Count > 0)
            {
                result.Content = model.Content.GetLanguageProperty(SyntaxLanguage.Default);
                var contentForCSharp = model.Content.GetLanguageProperty(SyntaxLanguage.CSharp);
                if (result.Content != contentForCSharp)
                {
                    result.ContentForCSharp = contentForCSharp;
                }
                var contentForVB = model.Content.GetLanguageProperty(SyntaxLanguage.VB);
                if (result.Content != contentForVB)
                {
                    result.ContentForVB = contentForVB;
                }
            }
            return(result);
        }
示例#2
0
 public static SyntaxDetailViewModel FromModel(SyntaxDetail model)
 {
     if (model == null)
     {
         return null;
     }
     var result = new SyntaxDetailViewModel
     {
         Parameters = model.Parameters,
         TypeParameters = model.TypeParameters,
         Return = model.Return,
     };
     if (model.Content != null && model.Content.Count > 0)
     {
         result.Content = model.Content.GetLanguageProperty(SyntaxLanguage.Default);
         var contentForCSharp = model.Content.GetLanguageProperty(SyntaxLanguage.CSharp);
         if (result.Content != contentForCSharp)
         {
             result.ContentForCSharp = contentForCSharp;
         }
         var contentForVB = model.Content.GetLanguageProperty(SyntaxLanguage.VB);
         if (result.Content != contentForVB)
         {
             result.ContentForVB = contentForVB;
         }
     }
     return result;
 }
示例#3
0
        public static ItemViewModel FromModel(MetadataItem model)
        {
            if (model == null)
            {
                return(null);
            }
            var result = new ItemViewModel
            {
                Uid              = model.Name,
                Parent           = model.Parent?.Name,
                Children         = model.Items?.Select(x => x.Name).OrderBy(s => s).ToList(),
                Type             = model.Type,
                Source           = model.Source,
                Documentation    = model.Documentation,
                AssemblyNameList = model.AssemblyNameList,
                NamespaceName    = model.NamespaceName,
                Summary          = model.Summary,
                Remarks          = model.Remarks,
                Examples         = model.Examples,
                Syntax           = SyntaxDetailViewModel.FromModel(model.Syntax),
                Overridden       = model.Overridden,
                Exceptions       = model.Exceptions,
                Sees             = model.Sees,
                SeeAlsos         = model.SeeAlsos,
                Inheritance      = model.Inheritance,
                Implements       = model.Implements,
                InheritedMembers = model.InheritedMembers,
            };

            result.Id = model.Name.Substring((model.Parent?.Name?.Length ?? -1) + 1);

            result.Name = model.DisplayNames.GetLanguageProperty(SyntaxLanguage.Default);
            var nameForCSharp = model.DisplayNames.GetLanguageProperty(SyntaxLanguage.CSharp);

            if (result.Name != nameForCSharp)
            {
                result.NameForCSharp = nameForCSharp;
            }
            var nameForVB = model.DisplayNames.GetLanguageProperty(SyntaxLanguage.VB);

            if (result.Name != nameForVB)
            {
                result.NameForVB = nameForVB;
            }

            result.FullName = model.DisplayQualifiedNames.GetLanguageProperty(SyntaxLanguage.Default);
            var fullnameForCSharp = model.DisplayQualifiedNames.GetLanguageProperty(SyntaxLanguage.CSharp);

            if (result.FullName != fullnameForCSharp)
            {
                result.FullNameForCSharp = fullnameForCSharp;
            }
            var fullnameForVB = model.DisplayQualifiedNames.GetLanguageProperty(SyntaxLanguage.VB);

            if (result.FullName != fullnameForVB)
            {
                result.FullNameForVB = fullnameForVB;
            }

            var modifierCSharp = model.Modifiers.GetLanguageProperty(SyntaxLanguage.CSharp);

            if (modifierCSharp?.Count > 0)
            {
                result.Modifiers["csharp"] = modifierCSharp;
            }
            var modifierForVB = model.Modifiers.GetLanguageProperty(SyntaxLanguage.VB);

            if (modifierForVB?.Count > 0)
            {
                result.Modifiers["vb"] = modifierForVB;
            }

            return(result);
        }