2

C# コードのスニペットを C++/CLI に変換しようとしています。

C# コード:

DirectoryInfo dir = new DirectoryInfo(path);
DirectoryInfo [] subdirs;
foreach (DirectoryInfo subdir in dir.GetDirectories())
    Search(subdir.Fullname);

私は最後の行までそれを手に入れました。

C++ コード:

System::IO::DirectoryInfo^ dir = gcnew DirectoryInfo(dirbxSearch->Path);
array <System::IO::DirectoryInfo^>^ subdirs;
for each (System::IO::DirectoryInfo^ subdir in dir->GetDirectories())
     Search(subdir->FullName);

問題は、検索がどこから来るのかわからないことです。あいまいな言葉なので、参考文献にも見つかりませんでした。適切な継承がないとコンパイルできないので、ちょっと行き詰まっています。

4

1 に答える 1

0

C# ではグローバル関数 (スコープ外のクラス) は使用できません。あなたが持つことができる最も近いものは、型の静的関数です。関数は特定のクラス (つまりMyType.Search(subdir.Fullname)) に限定されないため、コード スニペットが存在するクラス階層に存在する必要があります。

Visual Studio で識別子を右クリックし、[Search()定義へ移動] を選択します (デフォルトのショートカットは F12 です)。Visual Studio を使用していない場合は、少なくとも継承構造を構成するクラスを検索できます。

于 2012-08-17T03:50:57.607 に答える