- 필수 기능
- 시작하기
- 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/attributeusage
Language: C#
Severity: Warning
Category: Best Practices
This rule is important because it helps control the usage of custom attributes in the C# code. Attributes in C# provide a powerful method of associating metadata, or declarative information, with code. However, without specifying how these attributes should be used, it can lead to misuse or confusion among developers.
The AttributeUsage
attribute dictates where the custom attribute can be applied, helping to prevent improper usage. It can be set to apply to classes, structures, enums, delegates, interfaces, methods, fields, parameters, properties, and events. The AllowMultiple
property determines whether the attribute can be applied multiple times to the same entity.
To fix the issues related to this rule, add the AttributeUsage
attribute when creating your custom attributes. Specify where your attribute should be used by setting appropriate AttributeTargets
and control the number of times it can be applied to the same entity using the AllowMultiple
property. For example, [AttributeUsageAttribute(AttributeTargets.All, AllowMultiple = false)]
specifies that your custom attribute can be applied to any entity but not multiple times to the same entity.
// should control how the attribute is used
public class MyNewAttribute : Attribute
{
}
[System.AttributeUsage(AttributeTargets.All, AllowMultiple = false)]
public class MyNewAttribute : Attribute
{
}
[AttributeUsageAttribute(AttributeTargets.All, AllowMultiple = false)]
public class MyNewAttribute : Attribute
{
}