code_junkie

Trouble with StructureMap and a public property I need to set

Nov 13th, 2011
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. public interface IFileStorageService
  2. {
  3. void SaveFile(string fileName, byte[] data);
  4. }
  5.  
  6. public class TestFileStorageService : IFileStorageService
  7. { ... etc ...}
  8.  
  9. public class NetworkFileStorageService : IFileStorageService
  10. {
  11. public string NetworkUnc { get; set; }
  12. public void SaveFile(...);
  13. }
  14.  
  15. x.ForRequestedType<Func<string, IFileStorageService>>()
  16. .TheDefault.Is.ConstructedBy(
  17. () =>
  18. NetworkUnc =>
  19. {
  20. var args = new StructureMap.Pipeline.ExplicitArguments();
  21. args.SetArg("NetworkUnc", NetworkUnc );
  22. return StructureMap.ObjectFactory.GetInstance<IFileStorageService>(args);
  23. });
  24.  
  25. StructureMap.ObjectFactory
  26. .GetInstance<Func<string, IFileStorageService>>()("something");
  27.  
  28. public class NetworkFileStorageServiceConfig
  29. {
  30. public string NetworkUnc { get; set; }
  31. }
  32.  
  33. x.ForRequestedType<NetworkFileStorageServiceConfig>().TheDefault.Is.IsThis(
  34. new NetworkFileStorageServiceConfig { NetworkUnc = "something" });
Add Comment
Please, Sign In to add comment