c \ # 단일 대상 의 인 스 턴 스 반사
object obj = null;
if (classItem.BaseType.Name == "Singleton`1")
{
obj = classItem.BaseType.GetProperty("Instance").GetValue(null);
}
else
{
obj = Activator.CreateInstance(classItem);
}
반사 생 성 인 스 턴 스 입 니 다. 가장 많이 사용 되 는 것 은 플러그 인 을 불 러 올 때 입 니 다.이 클래스 가 단일 모드 라면 Create Instance 를 사용 하면 인 스 턴 스 의 인 스 턴 스 를 직접 호출 하지 않 고 다시 만 듭 니 다.분명히 단일 호출 해 야 할 곳, 데이터 가 일치 하지 않 는 상황 이 발생 할 수 있다.
인 스 턴 스 인 스 턴 스 인 스 턴 스 를 반사 적 으로 호출 하 는 방법 을 알 아야 한다.
단일 템 플 릿 을 다음 과 같이 가정 합 니 다.
// https://www.cnblogs.com/zhouzl/archive/2019/04/11/10687909.html
public abstract class Singleton where T : class
{
// 5 ,
class Nested
{
// , 2 true
internal static readonly T instance = Activator.CreateInstance(typeof(T), true) as T;
}
private static T instance = null;
public static T Instance { get { return Nested.instance; } }
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 에 대한 인식 (1)대상 을 만 드 는 데 사용 할 인 터 페 이 스 를 정의 하여 하위 클래스 가 어떤 종 류 를 예화 할 지 결정 합 니 다.Factory Method 는 클래스 의 실례 화 를 하위 클래스 로 지연 시 킵 니 다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.