我将这个类和内部类作为命名空间的一部分,就像这样(刚删除并替换了一些代码和命名空间声明:
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,但错误似乎没有做出让步。我在这里错过了什么吗?
答案 0 :(得分:1)
当你双重clik文件时,如果文件中有可设计的类,VS会尝试打开设计器。您可以change the default open action,也可以将TagTimer
课程移到AsxActivityAliveEventMessageHandler
之上。
另一个解决方案是不是双击打开文件,而是按 F7 。