Castle DynamicProxyを使用して自分のタイプにインターセプタを追加しています。 これで、基底型を取得する必要があります(プロキシ自体ではありません)。Castle DynamicProxy:プロキシされていないオブジェクトを取得する
私はこのようなProxyUtilクラスを使用することを示唆したようにいくつかのヒントが見つかりました:
object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);
これは
bool isProxy = ProxyUtil.IsProxy(realInstance);
は常に真であるとして動作するようには思えないが。
私もProxyUtilが何をしているか、本質的に次のコードスニペット、使用してみました:同じ結果と
var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();
を、realInstanceはまだプロキシです。
私はここで何が欠けていますか?
私は 'CreateClassProxyWithTarget(インスタンス、インターセプタ)'を使ってプロキシを作成しています。 NHibernateが失敗するのは、ターゲットではなくプロキシをマップする必要があると考えられるためです。 –
cguedel