1

私はソースコードを見ています、そしてそれはupdateDisplayListという名前のメソッドを持っています。このソースコードには、似たような名前のさまざまなメソッドがあります。ただし、特定のupdateDisplayListメソッドに関心があります。このメソッドがどこで呼び出されているかを確認したいと思います。EclipseでCTRL+SHIFT + Gを使用してみました。これにより、そのソースコードでこのメソッドのすべての参照が返されます。ただし、同じ名前のメソッドが多数あるため、それらの参照も返されます。その特定のupdateDisplayListメソッドがどこで呼び出されているかをどのように知ることができますか?

4

1 に答える 1

1

コメントで述べられているようにupdateDisplayList()、Flexコンポーネントのライフサイクル方式です。事実上、すべてのFlexコンポーネントがこのメソッドを実装しています。

このメソッドを1つのクラスで変更し、それを呼び出してClassA、他のクラスでもこの変更の効果を確認している場合は、他のクラスClassAが何らかの方法で継承していることを意味している必要があります。

誰から継承しているかを判断するにClassAは、プロジェクトでそのクラス名を検索するだけです。これにより、探している他のクラスが見つかる可能性があります。ただし、継承する一連のクラスが存在するClassA可能性があるため、それよりも深く調べる必要がある場合があります(拡張するすべてのクラスをClassA検索してから、それらのクラスを検索します)。これは滑りやすい坂道であり、実りがないかもしれません。

別のアプローチは、のupdateDisplayList()メソッドにブレークポイントを設定することClassAです。前述したように、このブレークポイントに頻繁にヒットします。FlashBuilder / Eclipseでは、「式」ウィンドウを使用して、の値を調べることができますthis。の場合、それthisClassAあなたが探しているドロイドではないので、実行を再開させてください。

私はこれの底に到達するために他のいくつかの方法があると確信しています。しかしupdateDisplayList()、そのような一般的な方法であるため、そのメソッド名を検索しても意味がありません:)

于 2013-02-23T22:12:18.587 に答える