Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
lock
-Anweisung und der ThreadsynchronisierungEs gibt einige Fehler im Zusammenhang mit der lock
-Anweisung und der Threadsynchronisierung:
Darüber hinaus kann der Compiler die folgende Warnung im Zusammenhang mit lock
-Anweisungen und Threadsynchronisierung generieren:
System.Threading.Lock
, der in einen anderen Typ konvertiert wird, verwendet wahrscheinlich unbeabsichtigt die monitorbasierte Sperrung in der lock
-Anweisung.Diese Fehler deuten darauf hin, dass Ihr Code gegen Regeln für die lock
-Anweisung verstößt:
lock
ausgeführt wird, muss ein Verweistyp sein. Werttypen sind nicht zulässig.await
-Ausdruck kann nicht im Bereich einer lock
-Anweisung verwendet werden.lock
-Anweisung kann nicht mit async
-Methoden oder Lambdaausdrücken verwendet werden. Für diesen Fehler können Sie den Typ des gesperrten Objekts durch einen anderen Typ ersetzen. Die lock
-Anweisung verwendet die Monitor-API.Sie müssen Ihren Code so ändern, dass er den Regeln für die lock
-Anweisung entspricht.
System.Threading.Lock
, der in einen anderen Typ konvertiert wird, verwendet wahrscheinlich unbeabsichtigt die monitorbasierte Sperrung in der lock
-Anweisung.Ab C# 13 generiert lock
speziellen Code, wenn das Zielobjekt ein System.Threading.Lock
-Objekt ist. Der Compiler generiert diese Warnung, wenn Sie ein Lock
-Objekt verwenden, das von Ihrem Code aber in einen anderen Typ konvertiert wird. Daher generiert der Compiler den allgemeinen Sperrcode, nicht den spezifischen Sperrcode für den Typ Lock
. Zum Beispiel:
object lockObject = new System.Threading.Lock();
lock (lockObject) // CS9216
{
// .. Your code
}
Stellen Sie sicher, dass die Variable oder der Ausdruck den Typ des Lock
-Objekts darstellt.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren