DataContractAttribute with Shared Assembly
Posted
by Sanju
on Stack Overflow
See other posts from Stack Overflow
or by Sanju
Published on 2010-05-29T06:17:52Z
Indexed on
2010/05/29
6:22 UTC
Read the original article
Hit count: 201
Hi All,
Is it necessary to decorate custom objects with [DataContract] and [DataMember] when using shared assemblies (as opposed to auto proxy generation)?
The reason I ask is that I have encountered the following scenario:
Suppose the following object is implemented in my service:
public class baseClass
{
Guid _guid;
public baseClass()
{
_guid = Guid.NewGuid()
}
public Guid ReturnGuid { get {return _guid;}}
}
public class newClass : baseClass
{
int _someValue;
public newClass {}
public int SomeValue
{
get {return _someValue;}
set {_someValue = value;}
}
}
[ServiceContract]
public IService
{
[OperationContract]
newClass SomeOperation();
}
In my client (with shared assemblie) I can happily recieve and use a serialized newClass when SomeOperation is called - even though I have not marked it as a DataContract.
However, as soon as I do mark it with DataContract and use DataMember then it complains that set is not implemented on ReturnGuid in the base class.
Could somebody explain why it works fine when I do not decorate with DataContract and DataMember.
Many thanks.
© Stack Overflow or respective owner