diff --git a/LightweightIocContainer.FactoryGenerator/FactoryGenerator.cs b/LightweightIocContainer.FactoryGenerator/FactoryGenerator.cs index 4bbab00..71fd88c 100644 --- a/LightweightIocContainer.FactoryGenerator/FactoryGenerator.cs +++ b/LightweightIocContainer.FactoryGenerator/FactoryGenerator.cs @@ -177,13 +177,12 @@ public class FactoryGenerator : IIncrementalGenerator stringBuilder.AppendLine($"public class Generated{typeName}(IocContainer container) : {typeName}"); stringBuilder.AppendLine("{"); - foreach (ISymbol? member in typeSymbol.GetMembers()) + ImmutableArray members = typeSymbol.GetMembers(); + foreach (ISymbol? member in members) { if (member is not IMethodSymbol method) continue; - stringBuilder.AppendLine(); - if (!method.ReturnsVoid) //create method { stringBuilder.Append($"{INDENT}public {method.ReturnType.Name}"); @@ -256,6 +255,9 @@ public class FactoryGenerator : IIncrementalGenerator stringBuilder.AppendLine($" => container.ClearMultitonInstances<{string.Join(", ", method.TypeArguments.Select(a => a.Name))}>();"); } + + if (members.IndexOf(member) < members.Length - 1) //only append empty line if not the last member + stringBuilder.AppendLine(); } stringBuilder.AppendLine("}");