Merge pull request #17970 from abpframework/auto-merge/rel-7-4/2246

Merge branch dev with rel-7.4
pull/17976/head^2
maliming 2 years ago committed by GitHub
commit 7481bf4781
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -539,16 +539,7 @@ public class CSharpServiceProxyGenerator : ServiceProxyGeneratorBase<CSharpServi
return NormalizeTypeName(typeName.Split(".").Last()); return NormalizeTypeName(typeName.Split(".").Last());
} }
if (typeName.Contains("<") && typeName.Contains(">")) AddGenericTypeUsingNamespace(typeName, usingNamespaceList);
{
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 type = new StringBuilder();
var s1 = typeName.Split("<"); var s1 = typeName.Split("<");
@ -579,6 +570,25 @@ public class CSharpServiceProxyGenerator : ServiceProxyGeneratorBase<CSharpServi
return type.ToString(); return type.ToString();
} }
private static void AddGenericTypeUsingNamespace(string typeFullName, List<string> usingNamespaceList)
{
if(!typeFullName.Contains("<"))
{
usingNamespaceList.AddIfNotContains($"using {GetTypeNamespace(typeFullName)};");
}
if (typeFullName.Contains("<") && typeFullName.Contains(">"))
{
var left = typeFullName.IndexOf("<", StringComparison.Ordinal);
var right = typeFullName.LastIndexOf(">", StringComparison.Ordinal);
var genericTypes = typeFullName.Substring(left + 1, right - left - 1);
foreach (var genericType in genericTypes.Split(",").Where(x => x.Contains(".")))
{
AddGenericTypeUsingNamespace(genericType, usingNamespaceList);
}
}
}
private static string NormalizeTypeName(string typeName) private static string NormalizeTypeName(string typeName)
{ {
var nullable = string.Empty; var nullable = string.Empty;

Loading…
Cancel
Save