У меня есть несколько различных приложений, среди которых я хотел бы поделиться перечислением C #. Я не могу понять, как разделить объявление enum между обычным приложением и службой WCF.
Вот ситуация. У меня есть 2 легких приложения C # destop и веб-сервис WCF, которые все должны обмениваться перечисляемыми значениями.
Клиент 1 имеет
Method1( MyEnum e, string sUserId );
Клиент 2 имеет
Method2( MyEnum e, string sUserId );
Веб-сервис имеет
ServiceMethod1( MyEnum e, string sUserId, string sSomeData);
Сначала я создал библиотеку Common.dll для инкапсуляции enum, а затем просто ссылался на эту библиотеку во всех проектах, где требуется enum. Однако WCF усложняет задачу, поскольку вам нужно разметить перечисление, чтобы оно стало неотъемлемой частью службы. Как это:
[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 };
Итак .... Есть ли способ поделиться перечислением среди службы WCF и других приложений?