イベントをトリガーしたものに関するデータを含むイベントハンドラーをトリガーするWebサービスからイベント通知を受信しています。イベントハンドラーが呼び出されa
、すべて適切な値で呼び出されることをテストしようとしています。これは、Webサービスに依存しないと不可能です。b
c
EventArgs
私の解決策は、サービスライブラリ(Exchange Webサービス)を介して返されるコンバーターを、サードパーティのサービスに依存せずにダムオブジェクトが理解できるものに変換するコンバーターを作成することです。私の問題はEventArgs
、EWSライブラリによって与えられたクラスに内部コンストラクターがあるため、リフレクションをあまり使用せずに、ランダムなプロパティ値を使用してそのインスタンスを生成する簡単な方法がないことです。
たとえば、私は単純なインターフェイスを持っています:
public interface IConverter<TFrom, TTo>
{
TTo Convert(TFrom from);
}
と簡単な実装:
public class NotificationEventArgsConverter : IConverter<NotificationEventArgs, NewNotification>
{
public NewNotification Convert(NotificationEventArgs from)
{
return new NewNotification
{
ItemIds = from.Events.Cast<ItemEvent>().Select(x => x.ItemId.ToString())
};
}
}
NotificationEventArgs
問題は、ランダムな値を持つのインスタンスをどのように生成できるかです。検索で見逃したこのライブラリはありますか?
これの全体的な目標はNotificationEventArgs
、次の値を持つのインスタンスを受け取った場合にエミュレートすることであり、次のNewNotification
ようになりますx
。
編集
それまでの間、私は単にを使用しますtypeof(T).GetConstructor()
。