Ejemplo n.º 1
0
        public override object GetHtml(Assumption assumption, Func <MemberInfo, object> memberHtml, Func <Type, object> typeHtml)
        {
            var member = GetMember();

            return(member != null
                ? memberHtml(member)
                : new SPAN
            {
                class_ = "Method", title = Original
            }

                   ._(
                       Member.GetHtml(Assumption.Member, memberHtml, typeHtml),
                       "(", ParameterTypes.Select(p => p.GetHtml(Assumption.Type, memberHtml, typeHtml)).InsertBetween <object>(", "), ")"
                       ));
        }
Ejemplo n.º 2
0
        public override object GetHtml(Assumption assumption, Func <MemberInfo, object> memberHtml, Func <Type, object> typeHtml)
        {
            var type = GetMember() as Type;

            if (type != null)
            {
                return(typeHtml(type));
            }

            var nameWithoutGen = Name.Contains('`') ? Name.Substring(0, Name.IndexOf('`')) : Name;
            var numGen         = Name.Contains("``") ? Convert.ToInt32(Name.Substring(Name.IndexOf("``") + 2)) : Name.Contains('`') ? Convert.ToInt32(Name.Substring(Name.IndexOf('`') + 1)) : 0;

            switch (assumption)
            {
            case Assumption.Member:
                object mname = new STRONG(nameWithoutGen);
                if (numGen > 0)
                {
                    mname = new[] { mname, "<", Enumerable.Range(0, numGen).Select(i => "TM" + (i + 1)).JoinString(", "), ">" }
                }
                ;
                return(Parent == null ? mname : new object[] { Parent.GetHtml(Assumption.Type, memberHtml, typeHtml), ".", mname });

            case Assumption.Type:
                object tname = Name;
                if (numGen > 0)
                {
                    tname = new[] { tname, "<", Enumerable.Range(getGenericCount(Parent), numGen).Select(i => "T" + (i + 1)).JoinString(", "), ">" }
                }
                ;
                var parentHtml = Parent.NullOr(p => p.GetHtml(Assumption.None, memberHtml, typeHtml));
                return(Parent == null || parentHtml == null ? tname : new object[] { parentHtml, ".", tname });

            default:
                if (Name.Contains('`'))
                {
                    goto case Assumption.Type;
                }
                return(Parent.NullOr(p => p.GetHtml(Assumption.None, memberHtml, typeHtml)).NullOr(html => new object[] { html, ".", Name }));
            }
        }
Ejemplo n.º 3
0
 public override object GetHtml(Assumption assumption, Func <MemberInfo, object> memberHtml, Func <Type, object> typeHtml)
 {
     return(new[] { Inner.GetHtml(Assumption.Type, memberHtml, typeHtml), "*" });
 }
Ejemplo n.º 4
0
 public override object GetHtml(Assumption assumption, Func <MemberInfo, object> memberHtml, Func <Type, object> typeHtml)
 {
     return(new[] { Inner.GetHtml(Assumption.Type, memberHtml, typeHtml), "[", new string(',', Ranks - 1), "]" });
 }
Ejemplo n.º 5
0
 public override object GetHtml(Assumption assumption, Func <MemberInfo, object> memberHtml, Func <Type, object> typeHtml)
 {
     return(new[] { Parent.GetHtml(Assumption.Type, memberHtml, typeHtml), "<", Arguments.Select(a => a.GetHtml(Assumption.Type, memberHtml, typeHtml)).InsertBetween <object>(", "), ">" });
 }