public string EndPoint(MethodDeclarationSyntax method) { StringBuilder url = new StringBuilder(FullClassName.Replace('.', '/')); url.Append("/"); url.Append(method.Identifier.ToString()); bool appendDash = true; if (!method.IsStatic()) { url.Append("-"); url.Append(ClassName); appendDash = false; } for (int i = 0; i < method.ParameterList.Parameters.Count; i++) { if (appendDash) { url.Append("-"); } else { url.Append("_"); } appendDash = false; string name = method.ParameterList.Parameters[i].Type.ToString(); var qualifiedType = method.ParameterList.Parameters[i].Type as QualifiedNameSyntax; var genericType = method.ParameterList.Parameters[i].Type as GenericNameSyntax; if (genericType == null && qualifiedType != null) { genericType = qualifiedType.Right as GenericNameSyntax; } if (genericType != null) { name = genericType.TypeArgumentList.Arguments.ToString() + "Array"; } if (name.Contains("IEnumerable")) { int bh = 0; } name = name.Replace("[]", "Array").Replace("Int32", "Int").Replace("Boolean", "Bool"); url.Append(name); } if (url.ToString().Contains("<")) { int bh = 0; } return(url.ToString().ToLower()); }
int IComparable <ClassReference> .CompareTo(ClassReference classReference) { return(FullClassName.CompareTo(classReference.FullClassName)); }
public override int GetHashCode() { return(FullClassName != null ? FullClassName.GetHashCode() : 0); }