From bf652a0d49a23af6ce9ead8a8b93197a610e5ec2 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 14 Jul 2023 10:02:57 +0800 Subject: [PATCH] Generate a namespace for the return type. --- .../CSharp/CSharpServiceProxyGenerator.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ServiceProxying/CSharp/CSharpServiceProxyGenerator.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ServiceProxying/CSharp/CSharpServiceProxyGenerator.cs index d6e0bd6e4e..45b93423c4 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ServiceProxying/CSharp/CSharpServiceProxyGenerator.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ServiceProxying/CSharp/CSharpServiceProxyGenerator.cs @@ -539,6 +539,17 @@ public class CSharpServiceProxyGenerator : ServiceProxyGeneratorBase")) + { + var left = typeName.IndexOf("<", StringComparison.Ordinal); + var right = typeName.LastIndexOf(">", StringComparison.Ordinal); + var genericTypes = typeName.Substring(left + 1, right - left - 1); + foreach (var genericType in genericTypes.Split(",").Where(x => x.Contains("."))) + { + usingNamespaceList?.AddIfNotContains($"using {GetTypeNamespace(genericType)};"); + } + } + var type = new StringBuilder(); var s1 = typeName.Split("<"); for (var i = 0; i < s1.Length; i++)