Przeglądaj źródła

自动生成支持返回值 (#560)

LiShengYang-yiyi 1 rok temu
rodzic
commit
f23109699d

+ 2 - 2
Share/Share.SourceGenerator/Generator/ETSystemGenerator/AttributeTemplate.cs

@@ -15,9 +15,9 @@ namespace ET.Generator
                 $attribute$
                         public class $argsTypesUnderLine$_$methodName$System: $methodName$System<$argsTypes$>
                         {   
-                            protected override void $methodName$($argsTypesVars$)
+                            protected override $returnType$ $methodName$($argsTypesVars$)
                             {
-                                $argsVars0$.$methodName$($argsVarsWithout0$);
+                                $return$$argsVars0$.$methodName$($argsVarsWithout0$);
                             }
                         }
                 """);

+ 9 - 0
Share/Share.SourceGenerator/Generator/ETSystemGenerator/ETSystemGenerator.cs

@@ -166,6 +166,15 @@ namespace {{namespaceName}}
 
                 SpeicalProcessForArgs();
                 
+                if (methodSymbol.ReturnType.ToDisplayString() == "void")
+                {
+                    code = code.Replace("$returnType$", "void");
+                    code = code.Replace("$return$", "");
+                }else{
+                    code = code.Replace("$returnType$", methodSymbol.ReturnType.ToDisplayString());
+                    code = code.Replace("$return$", "return ");
+                }
+                
                 code = code.Replace("$attribute$", attributeString);
                 code = code.Replace("$attributeType$", attributeType);
                 code = code.Replace("$methodName$", methodName);