在VS2012中导致设计器问题的前向声明

时间:2012-10-02 21:50:44

标签: visual-studio c++-cli visual-studio-2012

我正在将一个小型的C ++ / CLI项目从VS2008迁移到VS2012,并且遇到了令人沮丧的问题。

在我的MainForm中,我有两个类的前向声明。它们位于名称空间声明和MainForm声明之间。

这两个前向声明导致设计者抱怨错误“可以设计类MainForm,但不是文件中的第一个类.Visual Studo要求设计人员使用文件中的第一个类。移动类代码所以它是文件中的第一个类,并尝试再次加载设计器。“

有关潜在解决方案的任何想法?我尝试将引用放在课堂上,课后也没有得到正面结果。

1 个答案:

答案 0 :(得分:2)

Visual Studio只需要先查看MainForm类。不添加包含的最简单方法是转发声明MainForm本身:

namespace TheNameSpace
{
    ref class MainForm;
    // Other forward declarations go here

    public ref class MainForm
    {
        //Full class declaration goes here
    };
}