Skip to content

Instantly share code, notes, and snippets.

@ChrisMissal
Created November 26, 2009 03:41
Show Gist options
  • Save ChrisMissal/243219 to your computer and use it in GitHub Desktop.
Save ChrisMissal/243219 to your computer and use it in GitHub Desktop.
public static class IoC
{
private static readonly Container container;
static IoC()
{
container = new Container(x =>
{
x.ForConcreteType<OrderFilter>()
.Configure.WithCtorArg("connectionString")
.EqualToAppSetting("orderDatabaseConnectionString");
x.ForConcreteType<OrderFilter>()
.Configure.WithCtorArg("date")
.EqualTo(DateTime.Now);
x.ForConcreteType<EmailExclusionMatchFilter>()
.Configure.WithCtorArg("pattern")
.EqualToAppSetting("exclusionPattern");
x.ForConcreteType<SubscriberFilter>()
.Configure.WithCtorArg("path")
.EqualToAppSetting("subscriberPath");
//x.ForRequestedType<IFilter<string>>()
// .AddConcreteType<OrderFilter>();
//x.ForRequestedType<IFilter<string>>()
// .AddConcreteType<DuplicateFilter>();
//x.ForRequestedType<IFilter<string>>()
// .AddConcreteType<EmailExclusionMatchFilter>();
//x.ForRequestedType<IFilter<string>>()
// .AddConcreteType<SubscriberFilter>();
x.ForRequestedType<IListFilter<string>>()
.TheDefaultIsConcreteType<ListFilter<string>>();
});
}
public static T Resolve<T>()
{
return container.GetInstance<T>();
}
public static IList<T> GetAllInstances<T>()
{
return container.GetAllInstances<T>();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment