C# 类XXX可以设计,但不是文件中的第一个类。VisualStudio要求设计者使用文件中的第一个类
我将此类和内部类作为命名空间的一部分,如下所示(刚刚删除并替换了一些代码和命名空间声明:C# 类XXX可以设计,但不是文件中的第一个类。VisualStudio要求设计者使用文件中的第一个类,c#,visual-studio,visual-studio-2012,C#,Visual Studio,Visual Studio 2012,我将此类和内部类作为命名空间的一部分,如下所示(刚刚删除并替换了一些代码和命名空间声明: namespace X.Y.MessageHandlers.AsxActivity { public class AsxActivityAliveEventMessageHandler : IHandleMessages<AsxActivityAliveEvent> { private const double INTERVAL = 10000;
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; }
}
}
namespace X.Y.MessageHandlers.AsxActivity
{
公共类AsxActivityAliveEventMessageHandler:IHandleMessages
{
专用常数双间隔=10000;
公共静态bool AsxConnected{get;set;}
私有静态字典_connectionTimers=新字典();
公共无效句柄(AsxActivityAliveEvent消息)
{
...
}
无效计时器(对象发送器,System.Timers.ElapseDevenTargets e)
{
...
}
静态void NotifyClients(AsxActivityAliveEvent消息)
{
...
}
}
内部类TagTimer:Timer
{
公共对象标记{get;set;}
}
}
每当我从解决方案资源管理器双击我的“asxactivityaliveventmessagehandler.cs”时,VisualStudio就会弹出一个我以前从未见过的窗口,让我
以下讯息:
以防止加载前可能的数据丢失
对于设计器,必须解决以下错误:
接下来是这样的解释:
可以设计TagTimer类,但它不是
Visual Studio要求设计人员使用
移动类代码,使其成为文件中的第一个类
然后再次尝试加载设计器
尝试将类TagTimer从内部更改为公共更改为私有,但错误似乎没有改变。我是否遗漏了什么?当您双击文件时,VS尝试打开设计器(如果文件中有可设计的类)。您可以将
TagTimer
类移动到AsxActivityAliveEventMessage上方处理程序
另一个解决方案是打开文件,不是双击,而是按F7。谢谢。我想我还有另一个问题;为什么这个类被设置为可设计类?我想是因为
计时器
源于组件
。