2023-06-08 16:53:12 +02:00
|
|
|
include::../why-dotnet.adoc[]
|
2023-05-03 11:06:20 +02:00
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
== How to fix it
|
2021-01-23 04:07:47 +00:00
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
=== Code examples
|
2021-01-23 04:07:47 +00:00
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
==== Noncompliant code example
|
|
|
|
|
|
|
|
[source,vbnet,diff-id=1,diff-type=noncompliant]
|
2021-01-23 04:07:47 +00:00
|
|
|
----
|
|
|
|
Public Class Sample
|
2023-06-08 16:53:12 +02:00
|
|
|
Private ReadOnly myLock As New StackOverflowException
|
2021-01-23 04:07:47 +00:00
|
|
|
|
|
|
|
Public Sub Go()
|
2023-06-08 16:53:12 +02:00
|
|
|
SyncLock myLock ' Noncompliant
|
|
|
|
' ...
|
2021-01-23 04:07:47 +00:00
|
|
|
End SyncLock
|
|
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
----
|
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
==== Compliant solution
|
2021-01-23 04:07:47 +00:00
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
[source,vbnet,diff-id=1,diff-type=compliant]
|
2021-01-23 04:07:47 +00:00
|
|
|
----
|
|
|
|
Public Class Sample
|
2023-06-08 16:53:12 +02:00
|
|
|
Private ReadOnly myLock As New Object
|
2021-01-23 04:07:47 +00:00
|
|
|
|
|
|
|
Public Sub Go()
|
2023-06-08 16:53:12 +02:00
|
|
|
SyncLock myLock
|
|
|
|
' ...
|
2021-01-23 04:07:47 +00:00
|
|
|
End SyncLock
|
|
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
----
|
2021-06-02 20:44:38 +02:00
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
include::../rspecator.adoc[]
|
2021-06-02 20:44:38 +02:00
|
|
|
|
2023-06-08 16:53:12 +02:00
|
|
|
include::../resources-dotnet.adoc[]
|