Ответ 1
Для примитивных типов вы бы сказали, как @ozczecho ответил:
For<BlobContainer>()
.Use<BlobContainer>()
.Ctor<string>("containerName").Is("theContainerName")
.Ctor<string>("contentType").Is("theContentType");
при условии, что значения известны во время регистрации. Вы можете сделать это так же и для не примитивных типов, но вы теряете гибкость, которую контейнер дает вам таким образом. Лучше определить экземпляр по умолчанию или именованный и использовать его вместо этого (контейнер автоматически разрешит вам экземпляры по умолчанию). Определяя значения по умолчанию, вы можете легко изменить все зависимости от типа приложения, изменив только одну регистрацию.
For<CloudStorageAccount>().Use<TheCloudStorageAccountType>();
Если зависимость представляет собой конкретный тип с конструктором, имеющим зависимости, которые известны структуре, вам не нужно регистрировать его в контейнере, он будет автоматически разрешен.
Итак, если CloudStorageAccount - это конкретный класс, вам нужно только зарегистрировать его зависимости в Структурной карте.