在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