我想这个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