Exemplo n.º 1
0
        // 返りの型の分析
        static string AnalyzeResultInfo(MethodInfo m, int nestLevel, List <string> genericParameterTypeStringList)
        {
            //戻り値を表示
            if (m.ReturnType == typeof(void))
            {
                var ts = "void";
                SW.Write(ts);
                FI.Write(ts);

                return(ts);
            }
            else
            {
                var ts = TypeToString(m.ReturnType);

                // 複雑過ぎるかどうか
                var  genlist   = m.ReturnType.GetGenericArguments();
                bool isComplex = IsGenericAnyCondtion(genlist,
                                                      (g) => {
                    // クラスに無いのに、関数が突然Genericというのは、場合によってはTypeScriptでは無理が出る
                    if (!genericParameterTypeStringList.Exists((e) => { return(e.ToString() == g.ToString()); }))
                    {
                        return(true);
                    }
                    return(false);
                }
                                                      );


                ts = ModifyType(ts, isComplex);

                SW.Write(ts + "");
                FI.Write(ts + "");

                return(ts);
            }
        }