0

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

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 类从内部更改为公共到私有,但错误似乎并没有改变。我在这里错过了什么吗?

4

1 回答 1

1

双击文件时,如果文件中有可设计的类,VS 会尝试打开设计器。您可以更改默认打开操作,或将TagTimer类移到AsxActivityAliveEventMessageHandler.

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

于 2013-10-01T06:22:35.837 回答