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.