在面向VS2012的C ++ / CLI项目中(使用VS2013)我在以下代码中收到错误IntelliSense: too many arguments for generic class "System::Action"
:
public ref class MyClass
{
event Action<String^>^ S1;
event Action<String^, String^>^ S2; // error here
}
代码编译得很好,我只是得到了IntelliSense错误= /
如果我注释掉event Action<String^>^ S1
行,则错误会在第二行消失。基本上,如果我在同一个类(可能是文件?)中同时使用Action<T>
和Action<T1,T2>
,那么IntelliSense就会变得混乱。
这篇文章(C++/CLI use of Action<...,...> and Func<...> unsupported?)表明Action
在3.5框架中的两个文件(mscorlib和System.Core)之间被分开,但我仔细检查了,我引用了4.0框架(mscorlib) ,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089),所以我不认为是这样。只是为了检查,我添加了对System.Core
的引用而没有改变行为。
有没有办法解决这个问题?