可以设计类XXX,但不是文件中的第一个类。 Visual Studio要求设计人员使用文件中的第一个类

时间:2013-10-01 06:19:59

标签: c# visual-studio visual-studio-2012

我将这个类和内部类作为命名空间的一部分,就像这样(刚删除并替换了一些代码和命名空间声明:

namespace X.Y.MessageHandlers.AsxActivity
{
    public class AsxActivityAliveEventMessageHandler : IHandleMessages<AsxActivityAliveEvent>
    {
        private const double INTERVAL = 10000;
        public static bool AsxConnected { get; set; }
        private static Dictionary<String, TagTimer> _connectionTimers = new Dictionary<string, TagTimer>();

        public void Handle(AsxActivityAliveEvent message)
        {
              ...
        }

        void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
              ...
        }

        static void NotifyClients(AsxActivityAliveEvent message)
        {
              ...
        }
    }

    internal class TagTimer : Timer
    {
        public object Tag { get; set; }
    }
}

每当我从解决方案资源管理器中双击我的“AsxActivityAliveEventMessageHandler.cs”时,Visual Studio会弹出一个我以前从未见过的窗口,它给了我 以下消息:

  

在加载前防止可能的数据丢失   设计者必须解决以下错误:

接下来是这个解释:

  

可以设计TagTimer类,但不是第一个类   文件。 Visual Studio要求设计人员使用第一个类   文件。移动类代码,使其成为文件中的第一个类   并尝试再次加载设计师。

尝试将类TagTimer从内部更改为public到private,但错误似乎没有做出让步。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

当你双重clik文件时,如果文件中有可设计的类,VS会尝试打开设计器。您可以change the default open action,也可以将TagTimer课程移到AsxActivityAliveEventMessageHandler之上。

另一个解决方案是不是双击打开文件,而是按 F7