624得票18回答
除了允许常量成员函数修改数据成员之外,'mutable'关键字还有其他用途吗?

前段时间,我遇到了一些代码,其中使用了mutable关键字来标记类的数据成员。据我所见,它只是允许你在一个带有const限定的成员方法中修改成员变量。 class Foo { private: mutable bool done_; public: voi...

206得票8回答
何时使用DataContract和DataMember属性?

我对WCF中的DataContract属性感到非常困惑。据我所知,它用于序列化用户定义的类型,例如类。我编写了一个在客户端公开的类,如下所示。[DataContract] public class Contact { [DataMember] public int Roll {...

204得票8回答
如果我不明确地进行初始化,那么类成员是如何被初始化的呢?

假设我有一个类,其中包含私有成员变量ptr、name、pname、rname、crname和age。如果我不自己初始化它们,会发生什么?以下是一个示例: class Example { private: int *ptr; string name; ...

63得票5回答
WCF:如何在没有set的情况下公开只读的DataMember属性?

我有一个服务器端的类,我通过[DataContract]将其提供给客户端。这个类有一个只读字段,我想通过属性将其提供给客户端。然而,我无法这样做,因为似乎我不允许添加一个没有get和set的[DataMember]属性。 那么,有没有办法拥有一个没有setter的[DataMember]属性...

46得票6回答
配置JSON.NET以忽略DataContract/DataMember属性

我们在一个MVC3项目中,使用Microsoft的JSON序列化器和JSON.NET时遇到了问题。 众所周知,DateTime在Microsoft的序列化器中基本上是有问题的,因此我们切换到JSON.NET以避免这个问题。 这很好用,但是我们正在尝试序列化的一些类是带有DataContrac...

35得票5回答
一个const成员函数可以改变哪些内容?

C++的方法允许使用const限定符来表示对象在成员函数中不会被改变。但是这意味着什么呢?例如,如果实例变量是指针,这是否意味着指针本身不会被改变,还是指向的内存也不会被改变? 具体来说,这里是一个最简单的示例类。 class myclass { int * data; mycl...

32得票1回答
为什么不建议使用[DataMember(EmitDefaultValue = false)]?

在 WCF 中,你可以使用 [DataContract] 和 [DataMember] 属性来定义契约,如下所示:[DataContract] public class Sample { [DataMember(EmitDefaultValue = false, IsRequired...

27得票2回答
在WebApi服务中,使用[FromUri]属性时DataMember的Name属性会被忽略。

我们正在使用Asp.Net WebApi创建RestService。但由于某些原因,在尝试通过[FromURI]属性反序列化复杂属性时,DataMember属性中的Name属性被忽略了。 例如,我们可能会有: 方法:public IHttpActionResult Get([FromUri...

23得票3回答
DataContract,默认的DataMember值

在反序列化期间,是否有一种方法可以选择那些不在XML文件中的属性的默认值? 如果 XML 文件中没有 mAge 属性,我想使用默认值 18。这可能吗?[DataContract] public class Person { public Person () { } ...

15得票2回答
DataMember的IsRequired属性与Nullable类型结合使用是否矛盾?

今天我在 WCF 合同中遇到了这个:[DataMember(IsRequired = true)] public DateTime? LastModified { get; set; } IsRequired = True 和可空的 DateTime 有什么后果?它们似乎相互矛盾。