我正在尝试编写一些代码来将来自对象类型字段(来自 DataSet)的数据转换为它的目标(类型化)字段。我正在(至少尝试)使用动态转换。它似乎适用于字符串、int、DateTime。
但它不适用于无符号类型(ulong、uint)。下面有一个简单的代码,显示了我想要做什么。如果将 ul var 类型从 ulong 更改为 int,它可以正常工作。
有人有线索吗?
public class console
{
public static void CastIt<T>(object value, out T target)
{
target = (T) value;
}
public static void Main()
{
ulong ul;
string str;
int i;
DateTime dt;
object ul_o = (object) 2;
object str_o = (object) "This is a string";
object i_o = (object)1;
object dt_o = (object) DateTime.Now;
Console.WriteLine("Cast");
CastIt(ul_o, out ul);
CastIt(str_o, out str);
CastIt(i_o, out i);
CastIt(dt_o, out dt);
Console.WriteLine(ul);
Console.WriteLine(str);
Console.WriteLine(i);
Console.WriteLine(dt.ToString());
}
}