2

LinFu の動的プロキシを使用して、いくつかのクラスにアドバイスを追加しています。問題は、プロキシされたオブジェクトが仮想メソッドをインターセプトすることしかできず、非仮想メソッドの戻り値の型のデフォルト値を返すことです。

クラスまたはそのメソッドのいずれかに傍受属性があるかどうかに基づいて、クラスがプロキシされているかどうかを判断できます。

非仮想パブリック メソッドがインターセプト属性を持つクラスで定義されている場合に警告する ReSharper 5 構造検索を作成することは可能ですか。

例えば

Ok

public class InterceptedClass
{
    [Transaction]
    public virtual void TransactionalMethod()
    {
       ...
    }

    public virtual void AnotherMethod()
    {
       ...
    }
}

悪い

public class InterceptedClass
{
    [Transaction]
    public virtual void TransactionalMethod()
    {
       ...
    }

    public void AnotherMethod() // non-virtual method will not be called by proxy
    {
       ...
    }
}

どうもありがとう。

4

1 に答える 1

0

現在、ReSharper 5、AFAIK では不可能です。次のバージョンのいずれかで、構造化されたパターンをクラスおよび一般的なデザイン レベルに改善します。ありがとう、そしてこの例を続けてください!多くのケースが必要になります:)

于 2010-04-18T18:56:03.903 に答える