在 C# 中,将字符串转换为类对象可以通过反射和序列化两种方式实现。
反射是一种在运行时获取类型的信息并创建类的实例的技术。可以使用反射来将字符串转换为类对象。
假设有一个名为 MyClass 的类,该类有一个名为 MyProperty 的属性,可以使用以下代码将字符串转换为 MyClass 的实例:
string myString = "MyProperty=Hello";
Type myType = typeof(MyClass);
MyClass myObject = (MyClass)Activator.CreateInstance(myType);
PropertyInfo myProperty = myType.GetProperty("MyProperty");
myProperty.SetValue(myObject, myString.Split('=')[1]);
序列化是一种将对象转换为字符串或其他格式的数据的技术。可以使用序列化来将字符串转换为类对象。
假设有一个名为 MyClass 的类,该类有一个名为 MyProperty 的属性,可以使用以下代码将字符串转换为 MyClass 的实例:
string myString = "MyProperty=Hello";
MyClass myObject = new JavaScriptSerializer().Deserialize<MyClass>("{" + myString + "}");
在这两种方法中,反射更加灵活,可以处理更复杂的对象结构。序列化更加简单,但可能不适用于所有类型的对象。
领取专属 10元无门槛券
手把手带您无忧上云