WCF DataContract的C#类结构

WCF DataContract的C#类结构,c#,wcf,C#,Wcf,我如何将以下内容实现为将在WCF服务中使用的C#类结构? 此结构位于将从中创建此类的文档中。这主要是person类,它可能有多种情况,我对此有问题 项目类别 标识符-类(项的成员) 字段1(内部) 字段2(字符串) 详细信息-类别(项目成员) 详情1(内部) 细节2(字符串) 人员-类别(项目成员) 人员-级别(可发生1到200次事件) 信息2(字符串) 到目前为止,我有以下几点,不确定需要做什么才能完成: [DataContract] public class Item {

我如何将以下内容实现为将在WCF服务中使用的C#类结构? 此结构位于将从中创建此类的文档中。这主要是person类,它可能有多种情况,我对此有问题

项目类别

标识符-类(项的成员)

  • 字段1(内部)
  • 字段2(字符串)
详细信息-类别(项目成员)

  • 详情1(内部)
  • 细节2(字符串)
人员-类别(项目成员)

人员-级别(可发生1到200次事件)

  • 信息2(字符串)
到目前为止,我有以下几点,不确定需要做什么才能完成:

[DataContract]
public class Item
{
    public class identifier
    {
        [DataMember]
        public int field1;

        [DataMember]
        public string field2;
    }

    public class details
    {
        [DataMember]
        public int detail1;

        [DataMember]
        public string detail2;
    }

    public class persons
    {
        public class person
        {

        }
    }
}
通过将一个类的声明嵌套在另一个类中,不会以某种神奇的方式创建它的实例。为WCF协定声明数据与声明任何其他数据结构没有任何不同,只是相应的属性修饰不同。因此,您可能正在寻找类似以下内容:

[DataContract]
public class Identifier { … }

[DataContract]
public class Details { … }

[DataContract]
public class Person { … }

[DataContract]
public class Item
{
    [DataMember]
    public Identifier ID { get; set; }

    [DataMember]
    public Details Details { get; set; }

    [DataMember]
    public List<Person> Persons { get; set; }
}
[DataContract]
公共类标识符{…}
[数据合同]
公共类详细信息{…}
[数据合同]
公共类人士{…}
[数据合同]
公共类项目
{
[数据成员]
公共标识符ID{get;set;}
[数据成员]
公共详细信息{get;set;}
[数据成员]
公共列表人员{get;set;}
}
通过将一个类的声明嵌套在另一个类中,不会以某种神奇的方式创建它的实例。为WCF协定声明数据与声明任何其他数据结构没有任何不同,只是相应的属性修饰不同。因此,您可能正在寻找类似以下内容:

[DataContract]
public class Identifier { … }

[DataContract]
public class Details { … }

[DataContract]
public class Person { … }

[DataContract]
public class Item
{
    [DataMember]
    public Identifier ID { get; set; }

    [DataMember]
    public Details Details { get; set; }

    [DataMember]
    public List<Person> Persons { get; set; }
}
[DataContract]
公共类标识符{…}
[数据合同]
公共类详细信息{…}
[数据合同]
公共类人士{…}
[数据合同]
公共类项目
{
[数据成员]
公共标识符ID{get;set;}
[数据成员]
公共详细信息{get;set;}
[数据成员]
公共列表人员{get;set;}
}

为什么只把
[DataContract]
放在其中一个类上?@JeremyK-我还没有时间讨论这个问题。我只是想把这些拼凑起来。这也是我的第一个WCF服务。这是一个实体建模问题,而不是WCF问题。另外,嵌套类是非常规的。如果您想包含多个
person
@hugh实例,可以使用
列表,我一直认为您应该将类名的第一个字母大写…:为什么只把
[DataContract]
放在其中一个类上?@JeremyK-我还没有时间讨论这个问题。我只是想把这些拼凑起来。这也是我的第一个WCF服务。这是一个实体建模问题,而不是WCF问题。另外,嵌套类是非常规的。如果您想包含多个
person
@hugh实例,可以使用
列表,我一直认为您应该将类名的第一个字母大写…:P