は、私は現在のタイプの間の変換を行うために、この便利な変換拡張メソッドを使用します。Nullable <T>に汎用変換を行うにはどうすればよいですか?
public static T To<T>(this IConvertible obj)
{
return (T)Convert.ChangeType(obj, typeof(T));
}
しかし、それはNULL可能に有効な値を変換する好きではない、例えば、これは失敗:明らか
"1".To<int?>();
(?int型)、1は簡単に変換し、それがエラーを取得している:
Invalid cast from 'System.String' to 'System.Nullable`1[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'.
これは明らかに簡略化した例で、実際に私たちよそのような文字列型からの変換を行うには、それをINGの:
packageDb.Quantity = package.package.ElementDeep(Namespace + "PackageQuantity", Namespace + "ActualQuantity", Namespace + "Quantity").ValueOrNull().To<int?>();
Convert.ChangeTypeがNULL可能が気に入らない場合は、誰もがいずれかの素晴らしいアイデアを持っていますか?
私の質問を参照してください:http://stackoverflow.com/questions/773078/c-convert-string-to-nullable-type-int-double-etc –