2017-12-30 1 views
-3

typeof를 사용하거나 초기화하지 않고도 ClassA를 인수로 전달할 수 있습니까?함수에 인수로 클래스 이름 전달

class ClassA { 
} 

class ClassB { 
    public void Function([something here] clazz) { 
        ...... 
    } 
} 

class ClassC { 

    public void main() { 
     ClassB asdf = new ClassB(); 
     asdf.Function(ClassA); // pass like that, not typeof() or something else 
    } 
} 
+3

... –

+1

:

class ClassA { } class ClassB { public void Function<T>() { ...... } class ClassC { public void main() { ClassB asdf = new ClassB(); asdf.Function<ClassA>(); // magic } } 

는 것은 이런 종류의 IOC의 컨테이너 및 autofactories 매우 일반적이다? – Jasen

+0

귀하의 요구 사항이 정확히 'asdf.Function (ClassA);'을 작성하고 "typeof() 또는 다른 것"이 아닌 경우 불가능합니다. – Blorgbeard

답변

1

예, 유형을 제네릭 매개 변수로 전달할 수 있습니다. 어떻게 그 함수가를 ClassA를 사용

var o = container.Resolve<SomeClassName>(); 
당신은 XY의 문제가있을 수 있습니다 의심
관련 문제