2011-11-23 5 views
2

Il y a une interface:Est-il possible d'utiliser un type d'interface comme type de paramètre dans une opération WCF?

public interface IMessage 
{ 
    string Content; 
    Person Sender; 
} 

public class Priv : IMessage 
{ 
    public string Content { get; set; } 
    public Person Sender { get; set; } 
    private int whatever; 
} 

public class Publ : IMessage 
{ 
    public string Content { get; set; } 
    public Person Sender { get; set; } 
    private DateTime something; 
} 

Est-il possible d'utiliser dans le service WCF IMessage instance? Comme void SomeMethod(IMessage toSend)?

+0

Bien sûr, vous pouvez simplement faire de l'interface un 'DataContract'! Question similaire: http://stackoverflow.com/questions/1090736/wcf-datacontract-vs-datacontract-interface – Kolky

Répondre

3

Oui, c'est possible. Vous devez indiquer au Service la liste des implémentations attendues que vous allez envoyer en utilisant l'attribut KnownTypes

Questions connexes