Comment puis-je utiliser une énumération dans un datacontract WCF
Je veux avoir une énumération dans un datacontract d'un webservice WCF.
J'essaie d'utiliser
[DataContract]
class myclass
{
[DataMember]
public int id {get; set;}
[DataContract]
public enum myenum
{
[EnumMember]
a,
[EnumMember]
b
}
}
Mais je ne suis pas en mesure d'accéder à enum au client wcf. S " il vous plaît laissez-moi savoir ce que je fais mal.
2 réponses
Pour être inclus dans le mex / wsdl, l'énumération doit être utilisée quelque part dans le graphique, par exemple il devrait y avoir une propriété quelque part de type myenum. Les Types qui ne sont pas activement utilisés dans le graphique sont omis.
Notez également que vous n'avez pas besoin d'annoter les énumérations du tout - elles fonctionneront très bien. Vous n'avez besoin que d'attributs sur les énumérations si vous souhaitez personnaliser leur comportement sur le fil.
Comme L'a dit Marc-utilisez-le. Le type de données lui-même n'est pas un problème jusqu'à ce qu'il soit requis iirc.
Part de cela n'est pas nécessaire D'avoir Datacontract et EnumMember dessus (des règles spéciales s'appliquent). Voir http://msdn.microsoft.com/en-us/library/aa347875.aspx pour plus d'informations.