Skip to content

Commit 0cae4c1

Browse files
committed
Windsor covers all factory types
1 parent 5f2e009 commit 0cae4c1

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

SharpRepository.Ioc.Windsor/WindsorRepositoryExtensions.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,26 @@ public static void RegisterSharpRepository(this IWindsorContainer container, ISh
2323
return RepositoryFactory.GetInstance(genericArgs[0], genericArgs[1], configuration, repositoryName);
2424
}));
2525

26+
container.Register(Component.For(typeof(ICompoundKeyRepository<>)).UsingFactoryMethod((c, t) =>
27+
{
28+
var genericArgs = t.GenericArguments;
29+
30+
return RepositoryFactory.GetCompoundKeyInstance(genericArgs[0], configuration, repositoryName);
31+
}));
32+
2633
container.Register(Component.For(typeof(ICompoundKeyRepository<,,>)).UsingFactoryMethod((c, t) =>
2734
{
2835
var genericArgs = t.GenericArguments;
2936

3037
return RepositoryFactory.GetInstance(genericArgs[0], genericArgs[1], genericArgs[2], configuration, repositoryName);
3138
}));
39+
40+
container.Register(Component.For(typeof(ICompoundKeyRepository<,,,>)).UsingFactoryMethod((c, t) =>
41+
{
42+
var genericArgs = t.GenericArguments;
43+
44+
return RepositoryFactory.GetInstance(genericArgs[0], genericArgs[1], genericArgs[2], genericArgs[3], configuration, repositoryName);
45+
}));
3246
}
3347
}
3448
}

0 commit comments

Comments
 (0)