Esempio n. 1
0
        /// <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());
        }
Esempio n. 2
0
        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);
        }