C#에서 문자열을 기반으로 개체를 형 변환하는 방법이 있습니까?문자열을 기반으로하는 동적 캐스팅
예,
String typeToCast = control.GetType().Name;
Button b = (typeToCast)control;
C#에서 문자열을 기반으로 개체를 형 변환하는 방법이 있습니까?문자열을 기반으로하는 동적 캐스팅
예,
String typeToCast = control.GetType().Name;
Button b = (typeToCast)control;
아니, 당신은 할 수 없습니다. 당신이 "정적"유형에 할당 가지고 또한, 당신은 무엇을 얻을 것이다, 귀하의 경우,이 버튼의 - 왜 그냥 일반적으로 캐스팅하지 : 컨트롤 인 경우 당신은 hovewer 수
Button b = (Button)control;
는 확인 유형의 :
Type t = TypeFromString(name);
bool isInstanceOf = t.IsInstanceOfType(control);
편집 : 그것에서 컴파일 시간을 입력하면 액티베이터 클래스를 사용하지 않고 객체를 만들려면 :
object obj = Activator.CreateInstance(TypeFromString(name));
Button button = (Button)obj; //Cast to compile-time known type.
그렇다면 형식 이름을 가진 개체를 만들 수 있는지 물어보아야합니다. 가능합니다. –
예 당신이 할 수 있지만 안된다.
CSHARP
string value = "2.5";
object typedObject;
typedObject = Convert.ChangeType(value, Type.GetType("System.Double"));
Vbnet는
Dim value As String = "2.5"
Dim typedObject As Object
typedObject = Convert.ChangeType(value, Type.GetType("System.Double"))
이해가되지 것입니다 그런 식으로 캐스팅, 정직합니다. 당신이 그렇게 할 이유가 없습니다. – waqasahmed
생성 할 특정 유형의 파일이 있습니다. 수표를 열심히 코딩하고 그런 객체를 만들 수는 있지만 좀 더 우아한 방법을 찾고있었습니다. –