Пример #1
0
        private static string GetMemberSignature(string classSignature, string memberSignature)
        {
            if (memberSignature == null || classSignature == null)
            {
                return(memberSignature);
            }

            if (memberSignature.StartsWith(classSignature + "."))
            {
                memberSignature = memberSignature.Substring(classSignature.Length + 1);
            }

            // collapse generic method signatures
            if (classSignature.Contains("<"))
            {
                var className      = classSignature.Substring(0, classSignature.IndexOf("<"));
                var methodPrefixes = GenericMethods.GetOrDefault(className);
                if (methodPrefixes != null)
                {
                    foreach (var prefix in methodPrefixes)
                    {
                        if (memberSignature.StartsWith(prefix + "("))
                        {
                            memberSignature = prefix + "(...)";
                            break;
                        }
                    }
                }
            }

            return(memberSignature);
        }