Reflection.Emit
を使用して.NETにスタックから一番上のアイテムにアクセスする方法はありますか?だからAが一番上、Bの次がBならばAを処理したいと思っています.B を Aの上に複製するといいでしょう。Reflection.Emit - スタックから一番上のアイテムにアクセスする
現在、私は地元を宣言しています:
LocalBuilder loc = il.DeclareLocal(typeof(Foo));
il.Emit(OpCodes.Stloc, loc); // store and pop topmost stack item
// work with (pop) previous stack item
il.Emit(OpCodes.Ldloc, loc); // push old topmost stack item
は、明示的なローカルを必要としないルートはありますか?
"なぜ"のために - これは私が望むより多くの地元を紹介しなければならない生成コードです。代わりにスタックの一番上を使うことができれば、スタックのスペースを節約することができます(AFAIKに関係なくローカルに予約されています)。 –