0
가능한 중복 :
c# create an instance of a class from a string전화 개체
는 희망이 매우 간단합니다.
동적으로 개체의 이름을 나타내는 문자열을 기반으로 개체를 호출하려고합니다.
public class Class1
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
public class Class2
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
내 목표는 문자열 표현에서 Class2
을합니다 (GetClassFromString()
분명히 만들어, 그러나 희망 내가 뭘 찾고있어 설명한다)를 호출하는 것입니다 : 여기에 내가 뭘 찾고있어의 예입니다 :
Object cls = Object.GetClassFromString("Class2");
그런 다음 cls
는 Class2
에서 개체가 될 것입니다.
'if (str == "Class2")가 새로운 Class2()를 리턴하겠습니까? – dtb
DTB, 실용적으로 보입니다. 고맙습니다. 그러나 40+ 클래스를 동적으로 호출 할 수있는 무언가로 작업하고 있다면. 미래에 추가 될 수있는 모든 새 클래스에 대해 if 조건을 새로 추가하지 않아도됩니다. 좀 더 역동적 인 방법으로 제안 해 주시겠습니까? – BenR
@BenRecord : 내가 링크 된 질문을 확인하십시오. http://stackoverflow.com/questions/223952/c-sharp-create-an-instance-of-a-class-from-a-string (귀하의 사본은 중복 된 것입니다. 이 하나의). 그것은 훌륭한 솔루션입니다.하지만 더 좋은 솔루션은 아마 당신의 응용 프로그램을 리펙토링하므로 반사가 필요하지 않습니다. 어떤 종류의 이국적인 디자인이 없다면 말입니다. –