基于字符串的动态强制转换

Vin*_*cio 3 c# casting

在C#中有一种方法可以根据字符串强制转换对象吗?

例,

String typeToCast = control.GetType().Name;

Button b = (typeToCast)control;
Run Code Online (Sandbox Code Playgroud)

小智 7

是的,你可以,但你不应该.

CSHARP

string value = "2.5";
object typedObject;
typedObject = Convert.ChangeType(value, Type.GetType("System.Double"));
Run Code Online (Sandbox Code Playgroud)

Vbnet

Dim value As String = "2.5"
Dim typedObject As Object
typedObject = Convert.ChangeType(value, Type.GetType("System.Double"))
Run Code Online (Sandbox Code Playgroud)