У меня есть интерфейс, который я использовал StructureMap
до Dependency Inject .
public interface IFileStorageService
{
void SaveFile(string fileName, byte[] data);
}
Интерфейсу все равно, ГДЕ сохраняются данные. Будь то память, файл, сетевой ресурс, спутник в космосе ...
Итак, у меня есть два класса, которые реализуют этот интерфейс; test class
и network file storage class
: -
public class TestFileStorageService : IFileStorageService
{ ... etc ...}
public class NetworkFileStorageService : IFileStorageService
{
public string NetworkUnc { get; set; }
public void SaveFile(...);
}
Обратите внимание, как у моего NetworkFileStorageService
есть свойство? Этот класс требует этого значения в своей реализации метода SaveFile.
Ну, я не уверен, как определить это свойство.
Я думал, что смогу жестко запрограммировать его там, где я определю свою зависимость (например, в моем методе начальной загрузки -> ForRequestedType<IFileStorageService>
... и т. Д.), Но кикером является ... бизнес-логика DEFINES местоположение , Это не статично.
Наконец, поскольку я использую интерфейсы в своей логике, это свойство недоступно.
Может кто-нибудь помочь?
Если вы можете, изображение, которое вы хотите сохранить два файла
- Имя: Test1.bin; расположение: \ server1 \ folder1
- Имя: Test2.bin; расположение: \ server1 \ folder2
ура!