我正在学习 wcf,并且我看到此选择加入和选择退出序列化。我还在摸不着头脑。我已经看过this SO post 。但这没有帮助。有人能简单地向我解释一下它是什么吗?
最佳答案
其实就这么简单: 选择加入方法表示,被视为 DataContract 一部分的属性必须显式标记,否则将被忽略,而选择退出方法则意味着除非显式标记,否则所有属性都将被假定为 DataContract 的一部分。
namespace MySchoolService
{
[DataContract]
public class Student
{
[DataMember]
public string StudentNumber;
[DataMember]
public string FirstName;
[DataMember]
public string LastName;
public string MarksObtained;
}
[ServiceContract]
public interface IStudentService
{
//Service Code Here.
}
}
在上面的代码中,Student
类的 StudentNumber
、FirstName
、LastName
属性均显式标记为 DataMember
属性与 MarksObtained
相反,因此 MarksObtained
将被忽略。
下面的代码代表了选择退出方法的示例。
namespace MySchoolService
{
[Serializable()]
public class Student
{
public string StudentNumber;
public string FirstName;
public string LastName;
[NonSerialized()]
public string marksObtained;
}
[ServiceContract]
public interface IStudentService
{
//Service Code Here.
}
}
在上面的示例中,我们显式地将 MarksObtained
属性标记为 [NonSerialized()]
属性,因此除了其他属性外,它将被忽略。
希望可以帮到你。
关于wcf - 什么是选择序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42464007/