나는 그와 함께 일하고 있어요 코드베이스 내가 추가해야 아래반환 유형은
using namespace.scenario1;
...
using namespace.scenarion;
internal static Type GetType(string typeName)
{
switch(typeName)
{
case "class1": return typeof(class1); // namespace.scenario1.class1
...
case "classn": return typeof(classn);
}
}
나는 새로운 클래스를 지원하려는 때마다 보이는 한 진술과 새로운 사례 진술을 사용하고 실제로 이것이 떨어져 자동화 될 수있는 것처럼 느낀다.
나는 다음과 같은 방법을 시도하지만 가끔 같은 어셈블리 이름을 설정하는 데에 대해 이야기 this one과 같은 몇 가지 게시물을 읽을 null 값internal static Type GetType(string typeName)
{
return Type.GetType(typeName);
}
을 반환하지만 난 아직 방법을 잘 모르겠어요 이것을하기 위해 그리고 옳은 방향으로 팁을 감사 할 것입니다. 나는 Visual Studio가 어셈블리 이름을 알아낼 수 있다는 것을 알기 때문에
class1
의미는
namespace.scenario1.class1
고마워!
왜 직접 형식 이름을 사용하지? 내 말은, 당신이'Type.GetType ("TheTypeName")을하면 아무 것도하지 않고 이미 달성 할 것입니다 ... – Gusman
유형의 실제 이름을 원하면 Ok, 죄송합니다. 마지막 부분을 읽지 않았습니다. GetType에서 typeof (theType) .AssemblyQualifiedName을 사용하여 전체 이름을 검색하면 어셈블리 및 네임 스페이스를 포함하는 정규화 된 이름이 반환됩니다. – Gusman
@Gusman - 나는 '반환 대해서 typeof (TYPENAME) .AssemblyQualifiedName하려고 할 때,' 내가 문자열 변수입니다하지만 당신은뿐만 아니라 사용자의 특정 사건에 관련된해야 구체적인 예를 줄 수 –