У меня есть следующий объект, он отлично работает, когда я задаю стандартные объекты, такие как int, string, а не с пользовательским объектом.
[DataContract(Namespace = "")]
public class StatusLog<TItem>
{
/// <summary>
/// Gets or sets the key.
/// </summary>
/// <value>
/// The key.
/// </value>
[DataMember]
public Guid Id { get; set; }
/// <summary>
/// Gets or sets the action status.
/// </summary>
/// <value>
/// The action status.
/// </value>
[DataMember]
public ActionStatus ActionStatus { get; set; }
/// <summary>
/// Gets or sets the object.
/// </summary>
/// <value>
/// The object.
/// </value>
[DataMember]
public TItem Object { get; set; }
/// <summary>
/// Gets or sets the message.
/// </summary>
/// <value>
/// The message.
/// </value>
[DataMember]
public string Message { get; set; }
}
Это работает:
вернуть новый StatusLog {Id = Guid.NewGuid (), ActionStatus = ActionStatus.Deleted, Object = Convert.ToInt32 (id), Message = "Узел успешно удален"};
Это не работает:
new StatusLog {Id = Guid.NewGuid (), ActionStatus = ActionStatus.Created, Object = MyCustomObject};