C# 列挙型を共有したいアプリケーションがいくつかあります。通常のアプリケーションと WCF サービスの間で列挙宣言を共有する方法がよくわかりません。
これが状況です。列挙値を共有する必要がある 2 つの軽量 C# デストップ アプリと WCF Web サービスがあります。
クライアント 1 は
Method1( MyEnum e, string sUserId );
クライアント 2 は
Method2( MyEnum e, string sUserId );
ウェブサービスは
ServiceMethod1( MyEnum e, string sUserId, string sSomeData);
私の最初は、Common.dll というライブラリを作成して列挙型をカプセル化し、列挙型が必要なすべてのプロジェクトでそのライブラリを参照するだけでした。ただし、列挙型をサービスの不可欠な部分にするには、列挙型をマークアップする必要があるため、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サービスと他のアプリケーションの間で列挙型を共有する方法はありますか?