私は財産を持っている:純粋なプロパティのセット操作を監視するには?
public Foo My Foo{ get; set; }
私はそれにモニターセット動作にしたいが、ブレークポイントは、コードを変更せずに、それを監視するために、どのように、それを解決していませんか?
私は財産を持っている:純粋なプロパティのセット操作を監視するには?
public Foo My Foo{ get; set; }
私はそれにモニターセット動作にしたいが、ブレークポイントは、コードを変更せずに、それを監視するために、どのように、それを解決していませんか?
(Visual Studioのメニュー)デバッグ - >新規ブレークポイント - 機能で>ブレーク...
ゲッター:あなたの例ではClassName.get_PropertyName()
、これはClass.get_MyFoo()
セッターのようになります。あなたの例ではClassName.set_PropertyName(PropertyType)
、 Class.set_MyFoo(Foo)
私の知る限り、あなたはできません。プロパティが自明でないようにするには、自動的に実装されたプロパティの代わりにプロパティの完全な実装が必要です。それはもちろん、行うことは難しいことではありません - 自動実装プロパティはちょうど同等であること。だから、ちょうどその形式に変換し、(などのログ)何が必要コードを追加
private Foo myFoo;
public Foo MyFoo
{
get { return myFoo; }
set { myFoo = value; }
}
。
私はコードを変更する権限はありませんが、変更コードなしで存在する可能性がありますが、明らかに選択肢がありません。 –
@RedHat:どんな種類の「監視」について話していますか、どのくらいのコードを変更できませんか? –
@Jon Skeet:このプロパティはモデルであり、モデルを変更する権限はありませんが、コードやバインディングなどでmyFooプロパティの予期しない設定を知っています。 –
既存のコードを変更できず、既存のメソッドへの呼び出しを傍受できるようにしたい場合は、PostSharpまたはprofiler APIをチェックアウトすることができます。
どのような行と文字のテキストボックスは、Break at関数のダイアログフォームで入力する必要がありますか? –
ありがとう、それは私の必要条件です。 –
@RedHat他のフィールドはそのまま残すことができます – Alex