通用类型转换方法(.Net)

And*_*sch 11 .net c# types

我正在尝试创建一个通用的方法来投射一个对象,但似乎无法破解那个栗子.(现在是星期五下午3点,这是漫长的一周)

好的,所以我有这个场景:

// We have a value (which .net sets as a double by default)
object obj = 1.0;

// We have the target type as a string, which could be anything:
// say string sometType = "System.Decimal"
Type type = Type.GetType(someType);

// I need a generic way of casting this
object castedObj = (xxx) obj;
Run Code Online (Sandbox Code Playgroud)

如何在不创建无数if-else-staments的情况下一般地投射该对象?

Pop*_*lin 17

如果您使用的类型实现了IConvertible(所有基本类型都可以),则可以使用Convert.ChangeType方法.

    Convert.ChangeType(value, targetType);
Run Code Online (Sandbox Code Playgroud)