WCF создает нежелательный частичный класс - PullRequest
0 голосов
/ 20 декабря 2018

В отдельном проекте / решении у меня есть класс с именем 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 все еще генерирует частичный класс this?

1 Ответ

0 голосов
/ 21 декабря 2018

Частичный класс создан, потому что я использовал конструктор в CompleteField.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...