- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
",t};e.buildCustomizationMenuUi=t;function n(e){let t='
",t}function s(e){let n=e.filter.currentValue||e.filter.defaultValue,t='${e.filter.label}
`,e.filter.options.forEach(s=>{let o=s.id===n;t+=``}),t+="${e.filter.label}
`,t+=`ID: csharp-best-practices/incorrect-complete-options
Language: C#
Severity: Error
Category: Error Prone
The TaskContinuationOptions
enumeration is used to control the behavior of a task that is created to handle the completion of another task. However, using TaskContinuationOptions
in a TaskCompletionSource
is not recommended and can lead to unexpected behavior.
The importance of this rule is that it helps to avoid potential threading issues and ensures that your asynchronous code runs as expected. Misusing TaskContinuationOptions
could lead to your continuation running on an unexpected thread, causing potential problems with thread-safety and synchronization.
To adhere to this rule and good coding practices, you should use TaskCreationOptions
instead of TaskContinuationOptions
when creating a new TaskCompletionSource
.
var tcs = new TaskCompletionSource<int>(TaskContinuationOptions.RunContinuationsAsynchronously);
var tcs = new TaskCompletionSource<int>(TaskCreationOptions.RunContinuationsAsynchronously);