私はMicrosoft Azureのライブラリを使用しています。 Microsoft Azureのコードを引数として渡すことができるコンテナの一覧を動的に返そうとしています。どちらのメソッドも同じクラス内にあります。リスト<string>を方法1から方法2に渡すことができません
ListContainer()
static public List<string> ListContainer(StartConfig config)
{
List<string> container = new List<string>();
if (config == null || config.BlobClient == null)
{
config = Program.GetConfig();
}
//Get the list of the blob from the above container
IEnumerable<CloudBlobContainer> containers = config.BlobClient.ListContainers();
foreach (CloudBlobContainer item in containers)
{
container.Add(item.Name);
}
//Adding a print statement
Console.WriteLine(String.Join("\n", container));
Console.WriteLine("\n");
return container;
}
GETCONFIG()
public static StartConfig GetConfig()
{
StartConfig config = new StartConfig();
// Retrieve storage account from connection string.
config.StorageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the blob object.
config.BlobClient = config.StorageAccount.CreateCloudBlobClient();
//Get a reference to a container to use for the sample code, and create it if it does not exist.
config.Container = config.BlobClient.GetContainerReference(//List of Container names which are returned from ListContainer());
//Create the container if it does not exisit.
config.Container.CreateIfNotExists();
return config;
}
私は疲れて単にvar test = ListContiner(null)
の方法ListContainer()
コールすると、私のGetConfig()
以内にすることを置きます。私がそれをしたとき、私はStackOverflowExceptionを得るでしょう。 ListContainer
がconfig
がヌルでないことを確認してから、GetConfig()
を実行してconfigに割り当てているためです。誰もが簡単ににconfig.Container = config.BlobClient.GetContainerReference(CONTAINER_NAME);
を配置する方法に関するアイデアがある場合は、コンテナのリストListContainers()
から素晴らしいだろう!あなたはGetConfig
メソッド内var test = ListContainer(null)
を入れ
は、私は「あなたが設定を必要とすることについては行くだろうかのコードサンプルのビットを提供することができますあなた自身を守るためにそれに渡され、警備員が? – jdave
私はすでにしました。メソッドの先頭にある2つのifはnullの設定とconfig.BlobClientに対してメソッドを保護します。 –