オブジェクトタイプフィールド(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());
}
}