If you must use a dll, you can find out some of what it does with ilspy: http://ilspy.net/
here are some of it's features:
ILSpy Features
Assembly browsing
There's another one here that looks pretty good: http://www.jetbrains.com/decompiler/
here are some of it's features:
ILSpy Features
Assembly browsing
- IL Disassembly
- Support C# 5.0 "async"
- Decompilation to C#
- Supports lambdas and 'yield return'
- Shows XML documentation
- Decompilation to VB
- Saving of resources
- Save decompiled assembly as .csproj
- Search for types/methods/properties (substring)
- Hyperlink-based type/method/property navigation
- Base/Derived types navigation
- Navigation history
- BAML to XAML decompiler
- Save Assembly as C# Project
- Find usage of field/method
- Extensible via plugins (MEF)
- Assembly Lists
There's another one here that looks pretty good: http://www.jetbrains.com/decompiler/