私はこのクラスと内部クラスを名前空間の一部として持っています (いくつかのコードと名前空間の宣言を削除して置き換えただけです:
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 を internal から public から private に変更しようとしましたが、エラーは発生していないようです。ここで何か不足していますか?