我的函数接收对象类型的参数“值”。我想将它分配给一个对象的成员,但转换不会隐式发生,所以我需要明确指定它。但是,我不想在对象中实际指定该成员的当前类型,所以我可以这样做:
positiveOrder.OrderID = (int)value;
但是,如果业务需求发生变化,并且 OrderID 以不同的方式生成和存储,例如 GUIDS 的字符串类型更改,我将不得不回到这里进行更改,这是不合需要的凝聚力。我已经尝试过各种代码排列,例如
positiveOrder.OrderID = value as thisOrder.OrderID.GetType();
或者
positiveOrder.OrderID = (typeof(thisOrder.OrderID)) value;
但似乎没有任何效果。关于以编程方式指定要转换为的类型的任何想法?它可以在编译时或运行时完成,因为 Order 类不会改变。