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 回答