2009-07-07 10 views
10

WCFの新機能。WCF DataContractとDataContractインターフェイス

DataContactクラスは、Interfaceから継承できますか?

例:

[DataContract(Namespace = ...........)] 
public class VesselSequence : IVesselSequence 
{ 

    [DataMember] 
    public int AllocationId { get; set; } 

    [DataMember] 
    public string ScenarioName { get; set; } 
} 

interface VesselSequence : IVesselSequence 
{ 
    public int AllocationId { get; set; } 
    public string ScenarioName { get; set; } 
} 

答えて

3

ことができますが、それはもう一方の端にあなたの送信されたインターフェースをデシリアライズできるようあなたは、あなたが、デシリアライゼーションエンジンのKnownTypes属性を定義する必要がインターフェイスタイプを返却する場合に注意してください確認してください。あなたがこれを行うことができます

+1

こんにちはマーティンを..どこかのウェブ上の任意の良い例はありますか? – Sreedhar

5

[DataContract(Namespace = ...........)] 
public class VesselSequence : IVesselSequence 
{ 
    [DataMember] 
    public int AllocationId { get; set; } 
    [DataMember] 
    public string ScenarioName { get; set; } 
} 

interface IVesselSequence 
{ 
    int AllocationId { get; set; } 
    string ScenarioName { get; set; } 
} 

をあなたは悲しげに、これを行うことはできません。

public class VesselSequence : IVesselSequence 
{ 
    public int AllocationId { get; set; } 
    public string ScenarioName { get; set; } 
} 

[DataContract(Namespace = ...........)] 
interface IVesselSequence 
{ 
    [DataMember] 
    int AllocationId { get; set; } 
    [DataMember] 
    string ScenarioName { get; set; } 
}