/// <summary> /// Полная сигнатура перегрузки метода (используется для вызова метода в assembly) /// </summary> public static string GetFullExternalName(this DoshikExternalApiTypeMethodOverload overload) { var sb = new StringBuilder(); //sb.Append(overload.Method.Type.ExternalName); sb.Append(overload.ExternalTypeName); sb.Append(".__"); sb.Append(overload.Method.ExternalName); sb.Append("__"); sb.Append(overload.ExternalName); return(sb.ToString()); }
private bool DoParametersMatchOverload(List <DoshikExternalApiType> inParameters, List <DoshikExternalApiType> outParameters, DoshikExternalApiTypeMethodOverload overload) { if (overload.InParameters.Count != inParameters.Count || overload.ExtraOutParameters.Count != outParameters.Count) { return(false); } for (int parameterIdx = 0; parameterIdx < inParameters.Count; parameterIdx++) { if (inParameters[parameterIdx] != overload.InParameters[parameterIdx].Type) { return(false); } } for (int parameterIdx = 0; parameterIdx < outParameters.Count; parameterIdx++) { if (outParameters[parameterIdx] != overload.ExtraOutParameters[parameterIdx].Type) { return(false); } } return(true); }