J'ai fait la déclaration suivante:nullables énumérations (??) et LinqToSQL
select new Action {
ParentContentType = action.ParentContentType != null ? (ContentType)Enum.ToObject(typeof(ContentType), action.ParentContentType) : null
};
ParentContentType est un ENUM annulable de type ContentType
cartes de action.ParentContentType à une table de base de données qui est un nullable int.
Si action.ParentContentType isnt null, je déterminer la valeur ENUM en utilisant:
(ContentType)Enum.ToObject(typeof(ContentType), action.ParentContentType)
Dans le cas où action.ParentContentType EST null J'essaie de régler le ENUM annulable à la valeur null .
Ce ne marche pas et je reçois la compilation:
Error 1 Type of conditional expression cannot be determined because there is no implicit conversion between ContentType' and '<null>'
EDIT
Je pourrais créer une valeur ENUM nulle .. par exemple ContentType.EMPTY.
Cependant:
ParentContentType = action.ParentContentType == null? ContentType.EMPTY: (ContentType) Enum.ToObject (typeof (ContentType), action.ParentContentType) };
Ne fonctionne pas non plus!
je reçois l'exception:
The argument 'value' was the wrong type. Expected 'Enums.ContentType'. Actual 'System.Object'.
En fait, dans ce cas, le lancement de la valeur null entraînera une exception "Impossible de traduire l'expression"! – iasksillyquestions
C'est bizarre. Le code ci-dessus compilé et a couru pour moi. Pouvez-vous poster la définition du type de ParentContentType? –