- 필수 기능
- 시작하기
- 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/ensure-self-type-parameter
Language: C#
Severity: Error
Category: Error Prone
This rule enforces the correct usage of the TSelf
parameter in C#. When implementing an interface that requires a TSelf
type parameter, such as IParsable<TSelf>
, the TSelf
parameter should be the same as the type that is implementing the interface. This is important because it ensures type safety and allows for correct usage of the interface’s methods.
In the non-compliant code example, the class MyDate
is implementing the IParsable<TSelf>
interface but is using DateOnly
for the TSelf
parameter. This is incorrect because the TSelf
parameter should be MyDate
, the type that is implementing the interface.
To avoid violating this rule, always use the type that is implementing the interface for the TSelf
parameter.
using System;
// The 'IParsable<TSelf>' requires the 'TSelf' type parameter to be filled with the derived type 'MyDate'
public readonly struct MyDate : IParsable<DateOnly> {
}
using System;
public readonly class MyDate : IParsable<MyDate> {
}