public IFoo Build(CreationInfo creationInfo) { var type = GetType().Assembly.GetTypes().SingleOrDefault(t => t.FullName == creationInfo.Name); if (type != null) { creationInfo.FooInstance = Activator.CreateInstance(type) as IFoo; } return(creationInfo.FooInstance); }
internal IFoo Create(CreationInfo creationInfo) { var fooBuilderWithLog = new AddLoggingToFooBuilder(); foreach (var fooObjectBuilder in _strategies) { creationInfo.FooInstance = fooObjectBuilder.Build(creationInfo); if (creationInfo.FooInstance != null) break; } return fooBuilderWithLog.Build(creationInfo); }
internal IFoo Create(CreationInfo creationInfo) { IFoo fooInstance = null; foreach (var fooObjectBuilder in _strategies) { fooInstance = fooObjectBuilder.Build(creationInfo); if (fooInstance != null) break; } return fooInstance; }
internal IFoo Create(CreationInfo creationInfo) { var fooBuilderWithLog = new AddLoggingToFooBuilder(); foreach (var fooObjectBuilder in _strategies) { creationInfo.FooInstance = fooObjectBuilder.Build(creationInfo); if (creationInfo.FooInstance != null) { break; } } return(fooBuilderWithLog.Build(creationInfo)); }
internal IFoo Create(CreationInfo creationInfo) { IFoo fooInstance = null; foreach (var fooObjectBuilder in _strategies) { fooInstance = fooObjectBuilder.Build(creationInfo); if (fooInstance != null) { break; } } return(fooInstance); }
public IFoo Build(CreationInfo creationInfo) { return null; }
public IFoo Build(CreationInfo creationInfo) { Console.Out.WriteLine($"Pass in Build of builder: {GetType().FullName}"); return creationInfo.FooInstance; }
public IFoo Build(CreationInfo creationInfo) { var type = GetType().Assembly.GetTypes().SingleOrDefault(t => t.FullName == creationInfo.Name); if (type != null) { creationInfo.FooInstance = Activator.CreateInstance(type) as IFoo; } return creationInfo.FooInstance; }
public IFoo Build(CreationInfo creationInfo) { Console.Out.WriteLine($"Pass in Build of builder: {GetType().FullName}"); return(creationInfo.FooInstance); }
public IFoo Build(CreationInfo creationInfo) { return(null); }