私は次の文があります。のNullable列挙型(??)とLinqToSQL
select new Action {
ParentContentType = action.ParentContentType != null ? (ContentType)Enum.ToObject(typeof(ContentType), action.ParentContentType) : null
};
ParentContentTypeがNULL可能int型であるデータベースのテーブルにタイプContentTypeをNULL可能の列挙
action.ParentContentTypeマップです。
action.ParentContentType イマイチ nullの場合、私が使用して列挙型の値を決定します。
action.ParentContentType は、私がnull値にNULL可能列挙型を設定しよう NULLの場合の場合は(ContentType)Enum.ToObject(typeof(ContentType), action.ParentContentType)
。
は、このdoesntのコンパイルと私が取得:
Error 1 Type of conditional expression cannot be determined because there is no implicit conversion between ContentType' and '<null>'
EDIT
私はすなわちContentType.EMPTY ..ヌル列挙値を作成することができます。しかし
:
ParentContentType = action.ParentContentType == nullの? ContentType.EMPTY:(ContentType)Enum.ToObject(typeof(ContentType)、action.ParentContentType) };
どちらも問題ありません。
私は例外を取得:
The argument 'value' was the wrong type. Expected 'Enums.ContentType'. Actual 'System.Object'.
実際この場合、nullをキャストすると「式を変換できませんでした」という例外が発生します。 – iasksillyquestions
それは変です。上記のコードはコンパイルされ、私のために走った。 ParentContentTypeの型の定義を投稿できますか? –