Да, конечно - вы можете добавить в свой контракт данных второе свойство, которое отражает int-значение перечисления:
[DataContract]
public class YourData
{
[DataMember]
public Priority MyPriority { get; set; }
[DataMember]
public int MyPriorityAsInt
{
get { return (int)MyPriority; }
set { ; }
}
}
Я думаю, это должно сработать - и MyPriorityAsInt
всегда должно точно отражать значение, хранящееся в MyPriority
. Если вы хотите, вы можете даже создать метод установки для MyPriorityAsInt
, чтобы установить значение MyPriority
при необходимости.