在C#中,可以使用Convert.ChangeType()方法进行类型转换。这个方法可以将一个对象转换为指定的类型。
以下是使用Convert.ChangeType()方法的示例:
using System;public class MyClass
{public int MyProperty { get; set; }
}public class Program
{public static void Main(string[] args){MyClass myObject = new MyClass();// 通过反射获取属性信息var propertyInfo = myObject.GetType().GetProperty("MyProperty");// 需要赋值的值object valueToSet = "10";// 使用Convert.ChangeType()转换类型并设置属性值var convertedValue = Convert.ChangeType(valueToSet, propertyInfo.PropertyType);propertyInfo.SetValue(myObject, convertedValue);Console.WriteLine(myObject.MyProperty); // 输出: 10}
}
在上述示例中,我们通过反射获取了MyClass类中的MyProperty属性的信息,然后使用Convert.ChangeType()方法将字符串类型的值"10"转换为属性的类型(int),最后使用反射设置属性的值为转换后的值10