Ejemplo n.º 1
0
        public void TestConvertTypeToTypeLink()
        {
            string type     = "System.Collections.Generic.Dictionary<System.Int32[], System.Collections.Generic.List<System.String>>";
            string ourType  = "Vsxmd.Units.TestType";
            var    norm     = NormalType.CreateNormalType(type);
            var    subTypes = norm.SubTypes.ToList();

            Assert.AreEqual(subTypes.Count, 2);
            Assert.AreEqual(norm.DisplayTypeName, "Dictionary");
            Assert.AreEqual(norm.ShortTypeName, "Dictionary-2");
            var subSub = subTypes.Last();

            Assert.AreEqual(subSub.SubTypes.Count(), 1);

            MemberName name = new MemberName("T:Vsxmd.Units.AssemblyUnit");

            Assert.AreEqual(norm.GetLink(name), "https://docs.microsoft.com/dotnet/api/System.Collections.Generic.Dictionary-2");
            var ourNorm = NormalType.CreateNormalType(ourType);

            Assert.AreEqual(ourNorm.GetLink(name), "./../TestType/TestType.md");
            //Assert.AreEqual(norm.ToMarkdownLink(name), "[Dictionary](https://docs.microsoft.com/dotnet/api/System.Collections.Generic.Dictionary-2)<[Int32[]](https://docs.microsoft.com/dotnet/api/System.Int32), [List](https://docs.microsoft.com/dotnet/api/System.Collections.Generic.List-1)<[String](https://docs.microsoft.com/dotnet/api/System.String)>>");

            string ret = norm.ToString("Ns.Tn --- Ns.Tn-Gc<Rs{, }>Am");
        }
Ejemplo n.º 2
0
        //ToDo : Correct
        internal BaseMember GetBase(BaseMember member)
        {
            //Get a list of all members of this type
            TypeMember    typeMem = _Members.OfType <TypeMember>().FirstOrDefault(x => x.TypeName == member.TypeName);
            List <string> bases   = typeMem.Implements;

            bases.Add(typeMem.Base);
            IEnumerable <BaseMember> potentials = _Members.Where(x => bases.Any(y => x.ID.TypeName == NormalType.CreateNormalType(y).FileName &&
                                                                                x.ID.FriendlyName == NormalType.CreateNormalType(y).FileName));

            //If can't find any members of same type with same defintion (method, prop, field etc.), return null and allow calling member to handle.
            if (potentials.Count() == 0)
            {
                return(null);
            }

            // To do : resolve this for multi returns.
            return(potentials.First());
        }