Amplifying .Net Reflector: Writing Your own particular Add-ins .

Uploaded on:
Category: Product / Service
Who is this gentleman?. Utilizing .Net since Fall 2001 (beta 2)MCSD.NetDebris.Net: A .Net disassembler (in progress).Net related connection blog
Slide 1

Expanding .Net Reflector: Writing Your own Add-ins Jason Haley Seattle Code Camp 4 November 2008

Slide 2

Who is this person? Utilizing .Net since Fall 2001 (beta 2) MCSD.Net Debris.Net: A .Net disassembler (in advance) .Net related connection blog "Fascinating Finds" Author of a couple Reflector Add-ins The group programming fellow, Open Seas

Slide 3

Ways to amplify Reflector Additional dialects Change the disassembler yield Display distinctive gathering data Add "missing" usefulness Create new usefulness

Slide 4

Demo Simplest Reflector Add-in

Slide 5

Agenda Ways to Extend .Net Reflector .Net Reflector Add-in Model Overview Getting Started

Slide 6

Languages Disassembler/Decompiler include ins Implement ILanguage, in addition to a couple others Often matched with a program/watcher

Slide 7

Demo PowerShellLanguage

Slide 8

Viewers/Browsers UI/Visual add-ins WinForms Controls to show decompiler yield

Slide 9

Demo ClassView, CodeModelView

Slide 10

Metadata applications Provide valuable expansions to Reflector Use the get together data somehow Use other Reflector usefulness

Slide 11

Demo Review

Slide 12

Agenda Ways to Extend .Net Reflector .Net Reflector Add-in Model Overview Getting Started

Slide 13

Introducing the code demonstrate Resides in Reflector.exe Interface driven Reflector namespace Majority of non metadata interfaces Managers Reflector.CodeModel namespace Contains the metadata interfaces Reflector.CodeModel.Memory namespace Contains some solid items

Slide 14

The obvious parts IAssemblyManager Tree perspective of stacked congregations ICommandBarManager Menus, Context Menus, Toolbar ILanguageManager Language drop down rundown on Toolbar IPropertyPageManager Dialog appeared from View-> Options

Slide 15

Demo ReflectorUI

Slide 16

The not all that unmistakable parts IWindowManager Access to StatusBar , ComandBars , Windows IConfigurationManager Access to cfg document stockpiling ITranslationManager Access disassembler industrial facility ApplicationManager Not utilized by include ins, gives an IServiceProvider

Slide 17

Demo EnumAddin, ReflectorWrapper

Slide 18

Agenda Ways to Extend .Net Reflector .Net Reflector Add-in Model Overview Getting Started

Slide 19

Writing your own include Where to begin CodePlex webpage has articles and code Existing include ins My addins page Add-ins to begin with ClassViewer CodeModelViewer

Slide 20

Reference Points I Use Solution from CodePlex website AssemblyCollection.Sort Enum Addin Boxing Count Create Using Code Shortcut Open Zip

Slide 21

Tips for Creating Addins Look at the wellspring of comparative addins Reflector Add-in Starter Kit Create an easy route to the reflector.exe in canister registry Add your include, then close it (creates the .cfg record) Set bookmarks for testing System.Diagnostics.Debugger.Break() (Vista) Taskkill/im reflector.exe

Slide 22

Summary Reflector.exe has the code demonstrate Get the starter pack Download the include ins CodePlex Look at the code for existing include ins Create your own – enormous or little

Slide 23

Web Resources .Net Reflector – Reflector Add-ins – Reflector Forum - My material –

Slide 24

Questions and Discussion Any extra tips on utilizing Reflector? Any thoughts on making extra include ins? A couple on my rundown: Interface use assistant Assembly reference confound discoverer F# dialect Other dialects? Confusion name mapper Add-in chief displayed after Firefox

View more...