@@ -1208,25 +1208,18 @@ public async Task ShouldSupportLightweightRootWithMaximumFuncArguments()
12081208 namespace Sample;
12091209
12101210 interface IService { int Sum { get; } }
1211- class Service(
1212- int a1, int a2, int a3, int a4,
1213- int a5, int a6, int a7, int a8,
1214- int a9, int a10, int a11, int a12,
1215- int a13, int a14, int a15) : IService
1211+ class Service(Func<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int> sum) : IService
12161212 {
1217- public int Sum { get; } =
1218- a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 +
1219- a9 + a10 + a11 + a12 + a13 + a14 + a15;
1213+ public int Sum { get; } = sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
12201214 }
12211215
12221216 partial class Composition
12231217 {
12241218 void Setup() => DI.Setup(nameof(Composition))
12251219 .Hint(Hint.Resolve, "Off")
1226- .RootArg<int>("a1").RootArg<int>("a2").RootArg<int>("a3").RootArg<int>("a4")
1227- .RootArg<int>("a5").RootArg<int>("a6").RootArg<int>("a7").RootArg<int>("a8")
1228- .RootArg<int>("a9").RootArg<int>("a10").RootArg<int>("a11").RootArg<int>("a12")
1229- .RootArg<int>("a13").RootArg<int>("a14").RootArg<int>("a15")
1220+ .Bind<Func<int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int>>()
1221+ .To(_ => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) =>
1222+ a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 + a11 + a12 + a13 + a14 + a15)
12301223 .Bind<IService>().To<Service>()
12311224 .Root<IService>("Create", kind: RootKinds.Light);
12321225 }
@@ -1236,7 +1229,7 @@ class Program
12361229 static void Main()
12371230 {
12381231 var composition = new Composition();
1239- Console.WriteLine(composition.Create(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) .Sum);
1232+ Console.WriteLine(composition.Create.Sum);
12401233 }
12411234 }
12421235 """ . RunAsync ( new Options ( LanguageVersion . Preview ) ) ;
0 commit comments