sourceValue が bool で T が int である T 型にこの関数を確実にキャストするにはどうすればよいですか?
public static T ConvertTo<T>(Object sourceValue) { // 同じタイプの場合 --> すぐに戻る if (sourceValue は T) (T) sourceValue を返します。 var val = ConvertTo(sourceValue, typeof (T)); (T) 値を返します。 }
現在、false を 0 に、true を 1 に変換しようとすると、InvalidCastException がスローされます。型は事前定義されていないため、ここではジェネリックを使用する必要があります。ただし、失敗する唯一のケースは、T:Int32 および sourceValue:Boolean の場合です。