ASMでバイトコードクラスがキャストされているインターフェースを介してバイトコードクラスにアクセスするためのガイド/ヘルプをWebで検索しようとしています。これは、 https://github.com/powerbot/RSBotからソースを取得した powerbot (RSBot) と呼ばれる RuneScape ボットで行われているのを見てきました。しかし、すべてのメソッドの「スケルトン」を含むインターフェイスにクラスをキャストするときにクラスキャスト例外が発生するため、それがどのように行われるのか理解できません.クラスをインターフェイスにキャストできるように考えるのは愚かなことだと思います..私はいくつかの準備が必要であることを知っていますが、ASM book/ebook (http://download.forge.objectweb.org/asm/asm-guide.pdf) には、私が読んだ限りでは何もありません。新しい RS ボットを作成するためではなく、必要に応じて BCEL を置き換えるためにこのクールなライブラリを学習することに、私は本当に興味があります。この問題をよりよく理解するために、簡単な例を示します。
ここに「helloSO」というクラスがあります
public class helloSO {
public void doSomething(){
System.out.println("I did something! :D");
}
}
ここには「helloSO」というインターフェースもあります
public interface helloSO {
public void doSomething();
}
私が読んで定義した.classをASMでそのインターフェイスにキャストして、そのインスタンスから名前でメソッドを呼び出すことができるようにしたいと思います..これについて十分に説明したいと思います. 必要に応じて、RSBot をチェックして、私が意味することをよりよく理解することができます。:)だから私が求めているのは; どのような準備が必要で、どこでそれらについて学ぶことができますか? 私はあなたに私にクラスアダプターを作成するように頼んでいるわけではありませんし、何かアドバイスや助けを求めているわけでもありません:) よろしくお願いします!