Ich muss etwas ausführen, wenn eine Erfassungskapazität erreicht ist oder eine Zeitüberschreitung auftritt.C# Ein Ereignis auslösen, wenn die Erfassungskapazität erreicht ist oder eine Zeitüberschreitung auftritt
Zum Beispiel, wenn ich eine Liste mit der Kapazität von 10 hatte und eine Zeitüberschreitung von 10 Sekunden warten muss, bis eines der "Ereignisse" ausgelöst wird, um etwas auszuführen.
Ich war ein ObservableCollection und im Falle Collection auf den Einsatz zu denken() die Anzahl der Elemente der Sammlung zählen und sehen, ob auf die Anzahl max von Anfragen erlaubt gleich ist.
Zur gleichen Zeit werde ich einen Timer haben, um das Timeout zu steuern.
Kann mir bitte jemand sagen, ob es eine bessere Lösung gibt?
Vielen Dank im Voraus.
Ich würde ein [AutoResetEvent] (https://msdn.microsoft.com/en-us/library/system.threading.autoresetevent.aspx) auf einem "Watcher" -Thread verwenden. Die WaitOne-Methode kann eine Zeitüberschreitung oder eine Signalisierung durch das CollectionChanged-Ereignis erhalten (wenn die Kapazität erreicht ist). –