Udostępnianie Enum z usługą WCF

Mam kilka różnych aplikacji, wśród których chciałbym udostępnić wyliczenie C #. Nie wiem, jak udostępnić deklarację enum między zwykłą aplikacją a usługą WCF.

Oto sytuacja. Mam 2 lekkie aplikacje destop C # i serwis WWW WCF, które muszą współdzielić wartości wyliczeniowe.

Klient 1 ma

 Method1( MyEnum e, string sUserId );

Klient 2 ma

Method2( MyEnum e, string sUserId );

Serwis internetowy ma

ServiceMethod1( MyEnum e, string sUserId, string sSomeData);

Moim początkowym zadaniem było stworzenie biblioteki o nazwie Common.dll w celu hermetyzacji enum, a następnie odwoływanie się do tej biblioteki we wszystkich projektach, w których enum jest potrzebne. Jednak WCF utrudnia wszystko, ponieważ musisz oznaczyć enum, aby było ono integralną częścią usługi. Lubię to:

[ServiceContract]
[ServiceKnownType(typeof(MyEnum))]
public interface IMyService
{
    [OperationContract]
    ServiceMethod1( MyEnum e, string sUserId, string sSomeData);
}

[DataContract]
public enum MyEnum{ [EnumMember] red, [EnumMember] green, [EnumMember] blue };  

Więc .... Czy istnieje sposób na dzielenie enum wśród usług WCF i innych aplikacji?

questionAnswers(4)

yourAnswerToTheQuestion