WCF生成不需要的子类

时间:2018-12-20 13:25:34

标签: c# wcf

在一个单独的项目/解决方案中,我有一个名为CompleteField的类,该类在多个WCF项目/解决方案中被引用。

WCF不需要CompleteField来生成部分类。

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("dotnet-svcutil", "1.0.0.1")]
[System.Runtime.Serialization.DataContractAttribute(Name="CompleteField", Namespace="http://schemas.datacontract.org/2004/07/Common.Web.Models")]
public partial class CompleteField : object
    {
       //...
    }

使用属性KnowType,我想我可以省略这种行为(因为我过去已经这样做了。)
在我的CompleteField类下面

  [DataContract]
  [KnownType(typeof(ValidatorType))]
  [KnownType(typeof(ObjectType))]
  [KnownType(typeof(ICompleteField))]
  public class CompleteField : ICompleteField
  {
    [DataMember]
    public string Name { get; set; }        
    [DataMember]
    public ObjectType Type { get; set; }
  }

  public interface ICompleteField
  {
    string Name { get; set; }
    ObjectType Type { get; set; }
  }

  [DataContract]
  public enum ValidatorType
  {
    [EnumMember]
    //...
  }

  [DataContract]
  public enum ObjectType
  {
    [EnumMember]
    //...
  }

   public CompleteField(ObjectType type)
   {
     this.Type = type;
   }
}

有人知道为什么WCF仍会生成部分类吗?

1 个答案:

答案 0 :(得分:0)

生成局部类是因为我在CompleteField中使用了构造函数。