intをnull値のintに変換する方法を知る必要があります。しかし、私はエラーを取得し続ける "バイナリ演算子Equal型 'System.Nullable`1 [System.Int32]'と 'System.Int32'の定義されていません。"任意の解決策。 Microsoft SQL Serverのnull可能なint型である必要があります。このようintをnullable intに変換しますか?
somevalue = Expression.Constant(something.GetValue(some,null).To<Nullable<System.Int32>>());
public static T To<T>(this object obj)
{
Type t = typeof(T);
Type u = Nullable.GetUnderlyingType(t);
if (u != null)
{
if (obj == null)
return default(T);
return (T)Convert.ChangeType(obj, u);
}
else
{
return (T)Convert.ChangeType(obj, t);
}
}'
'something.GetValue'の戻り値の型は何ですか?あなたがもっと簡単にすべき何かのために多くの仕事をしているようですね... –
エラーはコンパイラエラーかランタイムエラーですか?あなたのメソッドをさまざまな入力で実行しようとしましたが、エラーを受け取ることができませんでした。ランタイム例外が発生した場合は、スタックトレースを提供してください。 –
戻り値の型はintでなければなりません。問題は、私はintを渡すことですか?これはデータベースからの値であり、その関数はintを返すので、intに変換する必要があります。これは、動的なクエリを作成しようとしているためです。また、いくつかの値はvarです! intではない?常にvarでなければならない、これは変更できないので、人々が提案したようにキャストすることはできません。 – user2582770