gpt4 book ai didi

c# - WCF 在没有 "set "的属性上阻塞。任何解决方法?

转载 作者:IT王子 更新时间:2023-10-29 03:36:46 25 4
gpt4 key购买 nike

我有一些类作为服务方法的结果传递,并且该类有一个只读属性:

[DataContract]
public class ErrorBase
{
[DataMember]
public virtual string Message { get { return ""; } }
}

我在服务端遇到异常:

System.Runtime.Serialization.InvalidDataContractException: No set method for property 'Message' in type 'MyNamespace.ErrorBase'.

我必须将这个属性作为唯一的 getter,我不能让用户给它赋值。我可以使用任何解决方法吗?还是我缺少一些额外的属性?

最佳答案

给 Message 一个公共(public)的 getter 但 protected setter,这样只有子类(和 DataContractSerializer,因为它作弊 :) 可以修改值。

关于c# - WCF 在没有 "set "的属性上阻塞。任何解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com