Có cách nào trong .NET, sử dụng Reflection.Emit
, để truy cập mục trên cùng nhưng một từ ngăn xếp? Vì vậy, nếu A là trên cùng, và B tiếp theo - Tôi muốn xử lý B sau đó A. Nó sẽ là tốt để sao chép B trên A (kể từ khi tôi có thể chỉ đơn giản là "bật" B thứ hai khi tôi nhận được nó).Reflection.Emit - truy cập mục top-nhưng-một từ ngăn xếp
Hiện nay, tôi đang tuyên bố một địa phương:
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
Có một con đường mà không cần các địa phương rõ ràng?
Đối với "lý do" - đây là mã được tạo ra sẽ phải giới thiệu nhiều người dân địa phương mà tôi muốn. Nếu tôi có thể sử dụng phần trên cùng của ngăn xếp thay vào đó, tôi có thể tiết kiệm một lượng không gian ngăn xếp không đáng kể (người dân địa phương được dành riêng bất kể việc sử dụng, AFAIK). –