private void btnTMFPicker_Click(object sender, EventArgs e) { switch (currentPOT) { case PickOperandType.None: ((InstructionInfo)instructionEditor.DragItem).NewInstruction.Operand = null; lblTMFPicker.Text = string.Empty; RedrawBoth(); break; case PickOperandType.FieldReference: MultiPicker <FieldReference> .ShowStructure(dataStruct, StructureView.Fields, x => true, ApplyOperand); break; case PickOperandType.MethodReference: MultiPicker <MethodReference> .ShowStructure(dataStruct, StructureView.Methods, x => true, ApplyOperand); break; case PickOperandType.TypeReference: var typPicker = MultiPicker <TypeReference> .ShowStructure(dataStruct, StructureView.Classes, x => true, ApplyOperand); AddGenericsToToolBox(typPicker); break; case PickOperandType.TMFReferenceDynamic: var mrfPicker = MultiPicker <MemberReference> .ShowStructure(dataStruct, StructureView.All, x => true, ApplyOperand); AddGenericsToToolBox(mrfPicker); break; case PickOperandType.InstructionArrReference: Instruction[] oldop = ((InstructionInfo)instructionEditor.DragItem).NewInstruction.Operand as Instruction[]; InstructArrPicker.Instance.ShowStructure(mInstructBox.Items, oldop, x => ApplyOperand(x)); break; default: Log.Write(Log.Level.Warning, $"OperandType \"{currentPOT}\" cannot be processed with the TMFPicker"); break; } }
private void btnPickMethod_Click(object sender, EventArgs e) { MultiPicker <MethodDefinition> .ShowStructure(dataStruct, StructureView.Methods, x => true, LoadMetDef, true); }