我想這個C#代碼轉換成C++/CLI代碼:如何從此C#代碼實現IEnumerable <int>?
class MyRange : IEnumerable<int>
{
public IEnumerator<int> GetEnumerator() { return null; }
IEnumerator IEnumerable.GetEnumerator() { return null; }
}
這裏是我的嘗試:
namespace Tests {
public ref class MyRange : System::Collections::Generic::IEnumerable<int> {
private:
virtual System::Collections::IEnumerator^ GetEnumerator() = System::Collections::IEnumerable::GetEnumerator {
return nullptr;
}
virtual System::Collections::Generic::IEnumerable<int>^ GetEnumerator() {
return nullptr;
}
};
}
它給了我這麼多的錯誤(如20),我不要甚至不認爲值得把它們放在這裏。
我已經使用了這一切,似乎很多人都有與我一樣的問題。
你可以嘗試編譯它,並通過反射運行它,然後切換語言。出於好奇,從C#轉到C++的商業案例是什麼? – TrueWill 2009-09-24 04:05:35
我試過了。反射器的結果不起作用:( – 2009-09-24 04:23:09
由於C++/CLI不支持yield return,我需要手動實現IEnumerable/IEnumerator。我不是從c#移植到C++/cli,我只是在做一些與C++的互操作/ cli看看它是怎麼回事。 – 2009-09-24 04:26:13