상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
소개팅 후 몇번째 만남에 가기 전 긴장되셨나요?
쇼핑몰 관리에 있어 평판 관리는 어떤 전략으로 해야 하나요?
거래처 관리에서의 주요 이해관계자는 누구인가요?
거래처의 변화에 따라 어떻게 유연하게 대처하나요?
거래처와의 관계를 강화하기 위한 인센티브 프로그램은?
배당투자와 재무 분석의 관계는 무엇인가요?
배당투자를 하는 데 있어 감정적 요인의 역할은 무엇인가요?
니트로글리세린과 관련된 법적 규제는 무엇인가요?
니트로글리세린의 효과적인 용량은 얼마인가요?
니트로글리세린과 발기부전 치료제의 상호작용은?
필리핀 약사 월급은?
멀티비타민은 어떤 현상이 나타나면 중단해야 하나요?
Previous
Next
수정하기 - C#의 속성(Attribute) 사용법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
C 에서 속성(Attribute)은 메타데이터를 제공하는 특별한 클래스입니다. 속성은 클래스, 메서드, 속성, 필드, 매개변수, 반환 값 등 다양한 요소에 추가할 수 있으며, 주로 코드에 대한 추가 정보를 제공하거나 런타임에 특정 동작을 제어하는 데 사용됩니다. 속성을 사용하면 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 다양한 기능을 구현할 수 있습니다. 속성의 기본 구조 속성을 정의하려면 `System.Attribute` 클래스를 상속받는 클래스를 만들어야 합니다. 속성 클래스는 일반적으로 `Attribute`라는 접미사를 붙여 명명합니다. 속성 클래스는 생성자와 프로퍼티를 가질 수 있으며, 이러한 프로퍼티를 통해 속성에 값을 전달할 수 있습니다. ```csharp [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public class MyCustomAttribute : Attribute { public string Description { get; } public MyCustomAttribute(string description) { Description = description; } } ``` 위의 예제에서 `MyCustomAttribute`라는 사용자 정의 속성을 정의했습니다. 이 속성은 클래스나 메서드에 적용될 수 있으며, 설명을 담는 `Description` 프로퍼티를 가지고 있습니다. 속성 적용하기 속성을 적용하려면 대괄호(`[]`)를 사용하여 해당 요소 위에 속성 이름을 적어주면 됩니다. 예를 들어, 클래스나 메서드에 속성을 적용할 수 있습니다. ```csharp [MyCustomAttribute("This is a sample class.")] public class SampleClass { [MyCustomAttribute("This is a sample method.")] public void SampleMethod() { // Method implementation } } ``` 속성 정보 읽기 속성을 적용한 요소의 메타데이터를 읽으려면 리플렉션(Reflection)을 사용합니다. 리플렉션을 통해 속성의 정보를 동적으로 가져올 수 있습니다. ```csharp using System; using System.Reflection; class Program { static void Main() { Type type = typeof(SampleClass); // 클래스에 적용된 속성 읽기 object[] classAttributes = type.GetCustomAttributes(typeof(MyCustomAttribute), <a href='https://sangseek.com/sangseeks/false/ko'>false</a>); foreach (MyCustomAttribute attr in classAttributes) { Console.WriteLine($"Class Description: {attr.Description}"); } // 메서드에 적용된 속성 읽기 MethodInfo methodInfo = type.GetMethod("SampleMethod"); object[] methodAttributes = methodInfo.GetCustomAttributes(typeof(MyCustomAttribute), false); foreach (MyCustomAttribute attr in methodAttributes) { Console.WriteLine($"Method Description: {attr.Description}"); } } } ``` 위의 코드에서는 `SampleClass`와 `SampleMethod`에 적용된 `MyCustomAttribute` 속성의 정보를 읽어와 출력합니다. 속성의 활용 예 속성은 다양한 용도로 활용될 수 있습니다. 예를 들어, 다음과 같은 경우에 사용됩니다: 1. 데이터 유효성 검사 : 속성을 사용하여 데이터 모델의 유효성을 검사하는 데 사용할 수 있습니다. 예를 들어, `Required`, `StringLength`와 같은 속성을 사용하여 데이터 유효성을 검사할 수 있습니다. 2. 직렬화 : JSON이나 XML로 객체를 직렬화할 때, 어떤 속성을 직렬화할지 결정하는 데 속성을 사용할 수 있습니다. 3. 의존성 주입 : 속성을 사용하여 의존성 주입 프레임워크가 특정 필드나 속성에 의존성을 주입하도록 할 수 있습니다. 4. AOP(Aspect-Oriented Programming) : 속성을 사용하여 메서드의 전후에 특정 동작을 추가하는 데 사용할 수 있습니다. 예를 들어, 로깅, 트랜잭션 관리 등을 구현할 수 있습니다. 결론 C 의 속성은 코드에 메타데이터를 추가하여 다양한 기능을 구현할 수 있는 강력한 도구입니다. 사용자 정의 속성을 만들어 코드의 가독성을 높이고, 리플렉션을 통해 런타임에 속성 정보를 동적으로 읽어오는 방법을 통해 유연한 프로그래밍이 가능합니다. 속성을 적절히 활용하면 코드의 유지보수성과 확장성을 크게 향상시킬 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기