728x90
반응형
728x170
using System;
using System.Linq;
using System.Reflection;
/// <summary>
/// 타입 확장
/// </summary>
public static class TypeExtension
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 속성 정보 배열 구하기 - GetPropertyInfoArray(type, flag)
/// <summary>
/// 속성 정보 배열 구하기
/// </summary>
/// <param name="type">타입</param>
/// <param name="flag">바인딩 플래그</param>
/// <returns>속성 정보 배열</returns>
/// <remarks>타입이 클래스이면 해당 속성을 가져오고, 인터페이스인 경우 해당 속성과 상속된 모든 인터페이스의 속성을 가져온다.</remarks>
public static PropertyInfo[] GetPropertyInfoArray(this Type type, BindingFlags flag)
{
return !type.IsInterface ? type.GetProperties(flag) : (new[] { type }).Concat(type.GetInterfaces()).SelectMany(i => i.GetProperties(flag)).ToArray();
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 16진수 문자열 구하기 (0) | 2019.10.06 |
---|---|
[C#/COMMON] Trace 클래스 : TraceInformation 정적 메소드를 사용해 로그 기록하기 (0) | 2019.10.06 |
[C#/COMMON] 파일 잠금 여부 구하기 (0) | 2019.10.06 |
[C#/COMMON] DataTable 클래스 : 객체 컬렉션 구하기 (0) | 2019.09.20 |
[C#/COMMON] IDataReader 인터페이스 : 레코드를 객체로 변환하기 (0) | 2019.09.20 |
[C#/COMMON] PropertyInfo 클래스 : 타입의 속성 정보 배열 구하기 (0) | 2019.09.20 |
[C#/COMMON] 프로세스 CPU 사용률 제한하기 (0) | 2019.09.04 |
[C#/COMMON] 프로세스 CPU 사용률 제한하기 (0) | 2019.09.04 |
[C#/COMMON] PerformanceCounter 클래스 : 인스턴스명으로 프로세스 CPU 사용률 구하기 (0) | 2019.09.04 |
[C#/COMMON] PerformanceCounter 클래스 : 프로세스명으로 인스턴스명 딕셔너리 구하기 (0) | 2019.09.04 |
[C#/COMMON] Array 클래스 : Resize 정적 메소드를 사용해 배열 크기 변경하기 (0) | 2019.08.30 |
댓글을 달아 주세요