gpaillerのMegaApiClientを使用していますが、mega.nzでいくつかのファイルにアクセスしようとしています。単純な例:。c#MegaApiClient動的変数
INode myFolder = client.GetNodes(root).Single(n => n.Name == "apps");
INode myFolder1 = client.GetNodes(myFolder).Single(n => n.Name == "someapp");
INode myFolder2 = client.GetNodes(myFolder1).Single(n => n.Name == "somefolder");
INode myFile = client.GetNodes(myFolder2).Single(n => n.Name == "somefile.file");
これは動作します(MegaApiClientがこのように動作します)
MegaApiClient client = new MegaApiClient();
client.Login(email,pass);
var nodes = client.GetNodes();
string Path = root\apps\someapp\somefolder\somefile.file; /*Path from user. This can be much longer*/
String[] directories = Path.Split(System.IO.Path.DirectorySeparatorChar);
foreach (string folder in directories)
{
if (folder == "root")
{
//1. Error:A local or parameter named 'test' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter
INode test= nodes.Single(n => n.Type == NodeType.Root);
}
//2. Error:Use of unassigned local variable test
INode test = client.GetNodes(test).Single(n => n.Name == folder);
}
Client.DownloadFile(myFile, copy);
client.Logout();`
Errors:
私はそれを試してみたが、それは動作しません。私は覚えていない以外にも多くの方法を試みました。私は動的変数を使用する必要があると思います。どうしたのか分かりません。私を助けてください。私の悪い英語には申し訳ありません。
アップデート1 必要foreach
およびその他一つだけのコードとその作業はありません。 GetNodes()メソッドはすべてのノードを返します。解決策は次のとおりです。
//Its simple like this yes. Thanks gpailler for the answer
var file = client.GetNodes().Single(n => n.Type == NodeType.File && n.Name == FileName);
あなたは「これはうまくいきます」と言いますが、そうではないと言います。どこが壊れて、何がエラーですか? –
これは単なるテストです。私はAPIがこのように動作することを意味します。エラーはforeachにあります。 –
どこが壊れていますか?エラーは何ですか? –