【发布时间】:2012-12-14 11:40:47
【问题描述】:
我有一个使用 C++/CLI 的项目。然后我有一个像这样的事件处理程序:
void NotificationSystemEventHandler::NotificationServiceDetailViewRequested(System::Object^ sender, Notifications::NotificationViewer::DetailViewOpenRequestedEventArgs^ e)
{
try
{
switch (e->Type->ID)
{
(...)
DetailViewOpenRequestedEventArgs 类有一个名为Type 的属性,类型为DomainModel::CMN::NotificationType^
那么NotificationType 类有一个名为ID 的int 类型的属性。当我访问该属性时,我得到一个 C2039 说 ID 不是 NotificationType 的成员,而实际上我可以在对象浏览器上看到该属性。
唯一奇怪的是,Intellisense 在尝试查找类型时出错,并说该类型没有成员,但似乎编译器仍然可以正确解析该类型,但不能正确解析其成员。
我正在其他几个地方使用该课程。如果需要帮助澄清事情,我可以提供更多信息/图片。
这些是问题的图像:
错误信息:
对象浏览器:
错误的弹出窗口:
【问题讨论】:
-
属性 ID 只是一个 int。
-
项目上的引用好像有问题。参考对话框显示了一些已添加的参考(选中复选框),但它们没有出现在解决方案资源管理器上项目的参考项中....很奇怪。
标签: compiler-errors visual-studio-2012 c++-cli