重複の可能性:
C#ジェネリックリスト<T> Tの型を取得する方法は?
リスト変数があり、そのリストの型を取得して、その型に2番目の変数をキャストしたいと思います。わかりやすくするために、以下のコードを追加しました。
現在、私は次のものを持っています:
return _ValueList.Any<FieldType>(x => x.Equals((FieldType)fieldValueObject));
私はこのようなことをしたい:
Type valueType = _ValueList.GetType();
return _ValueList.Any<FieldType>(x => x.Equals((valueType)fieldValueObject));
どんな助けでもありがたいです。
アップデート:
fieldValueObjectの型がInt16で、Int32にキャストしようとすると、無効なキャスト例外がスローされます。
アップデート2:
私は次の解決策を使用しました:
if (fieldValueObject.GetType() == typeof(Int16))
{
fieldValueObject = Convert.ToInt32(fieldValueObject);
}
return _ValueList.Any<FieldType>(x => x.Equals(fieldValueObject));
きれいではありませんが、機能します。