728x90
728x170
■ 특정 인터페이스를 구현한 모든 타입을 구하는 방법을 보여준다.
▶ 특정 인터페이스를 구현한 모든 타입 구하기 예제 (C#)
using System;
using System.Collections;
using System.Collections.Generic;
Assembly assembly = Assembly.LoadFrom(@"D:\DevExpress.XtraEditors.v19.2.dll");
IEnumerable<Type> typeEnmerable = GetTypeEnumerable(assembly, typeof(IList));
foreach(Type type in typeEnmerable)
{
Console.WriteLine(type);
}
▶ 특정 인터페이스를 구현한 모든 타입 구하기 (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
#region 타입 열거 가능형 구하기 - GetTypeEnumerable(assembly, interfaceType)
/// <summary>
/// 타입 열거 가능형 구하기
/// </summary>
/// <param name="assembly">어셈블리</param>
/// <param name="interfaceType">인터페이스 타입</param>
/// <returns>타입 열거 가능형</returns>
public IEnumerable<Type> GetTypeEnumerable(Assembly assembly, Type interfaceType)
{
IEnumerable<Type> typeEnumerable = assembly.GetTypes()
.Where(y => interfaceType.IsAssignableFrom(y) && !y.IsInterface);
return typeEnumerable;
}
#endregion
728x90
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] IList<T> 인터페이스 : 리스트 임의로 섞기 (0) | 2020.02.29 |
---|---|
[C#/COMMON] 대문자 여부 구하기 (0) | 2020.02.29 |
[C#/COMMON] StackTrace 클래스 : GetMethod 메소드를 사용해 호출 메소드명 구하기 (0) | 2020.02.29 |
[C#/COMMON] AppDomainSetup 클래스 : ConfigurationFile 속성을 사용해 APP.CONFIG 파일 경로 구하기 (0) | 2020.02.29 |
[C#/COMMON] IList<T> 인터페이스 : 리스트 복사하기 (DEEP COPY) (0) | 2020.02.28 |
[C#/COMMON] 특정 인터페이스를 구현한 모든 타입 구하기 (0) | 2020.02.28 |
[C#/COMMON] Domain 클래스 : GetComputerDomain 정적 메소드를 사용해 컴퓨터 도메인 구하기 (0) | 2020.02.28 |
[C#/COMMON] Regex 클래스 : 파일명 와일드 카드 사용하기 (0) | 2020.02.28 |
[C#/COMMON] SecureString 클래스 : 보안 문자열 구하기 (0) | 2020.02.28 |
[C#/COMMON] 제네릭 확장 메소드를 사용해 값 비교하기 (0) | 2020.02.28 |