contents
foreword
preface
acknowledgments
about this book
Part 1 Getting started with IronPython
- 1 A new language for .NET
- 1.1 An introduction to IronPython
- 1.2 Python on the CLR
- 1.3 Live objects on the console: the interactive interpreter
- 1.4 Summary
- 2 Introduction to Python
- 2.1 An overview of Python
- 2.2 Python: basic constructs
- 2.3 Additional Python features
- 2.4 Summary
- 3 .NET objects and IronPython
- 3.1 Introducing .NET
- 3.2 Structures, enumerations, and collections: .NET types
- 3.3 Handling events
- 3.4 Subclassing .NET types
- 3.54 Summary
Part 2 Core development techniques
- 4 Writing an application and design patterns with IronPython
- 4.1 Data modeling and duck typing
- 4.2 Model-View-Controller in IronPython
- 4.3 The command pattern
- 4.4 Integrating commands with our running example
- 4.5 Summary
- 5 First-class functions in action with XML
- 5.1 First-class functions
- 5.2 Representing documents with XML
- 5.3 Reading XML
- 5.4 Handler functions for MultiDoc XML
- 5.5 The Open command
- 5.6 Summary
- 6 Properties, dialogs, and Visual Studio
- 6.1 Document observers
- 6.2 More with TabPages: dialogs and Visual Studio
- 6.3 Object serializing with BinaryFormatter
- 6.4 Summary
- 7 Agile testing: where dynamic typing shines
- 7.1 The unittest module
- 7.2 Testing with mocks
- 7.3 Functional testing
- 7.4 Summary
- 8 Metaprogramming, protocols, and more
- 8.1 Protocols instead of interfaces
- 8.2 Dynamic attribute access
- 8.3 Metaprogramming
- 8.4 IronPython and the CLR
- 8.5 Summary
Part 3 IronPython and advanced .NET.
- 9 WPF and IronPython
- 9.1 Hello World with WPF and IronPython
- 9.2 WPF in action
- 9.3 XPS documents and flow content
- 9.4 Summary
- 10 Windows system administration with IronPython
- 10.1 System administration with Python
- 10.2 WMI and the System.Management assembly
- 10.3 PowerShell and IronPython
- 10.4 Summary
- 11 IronPython and ASP.NET
- 11.1 Introducing ASP.NET
- 11.2 Adding IronPython to ASP.NET
- 11.3 ASP.NET infrastructure
- 11.4 A web-based MultiDoc Viewer
- 11.5 Editing MultiDocs
- 11.6 Converting the Editor into a user control
- 11.7 Summary
- 12 Databases and web services
- 12.1 Relational databases and ADO.NET
- 12.2 Web services
- 12.3 Summary
- 13 Silverlight: IronPython in the browser
- 13.1 Introduction to Silverlight
- 13.2 A Silverlight Twitter client
- 13.3 Videos and the browser DOM
- 13.4 Summary
Part 4 Reaching out with IronPython
- 14 Extending IronPython with C#/VB.NET
- 14.1 Writing a class library for IronPython
- 14.2 Creating dynamic (and Pythonic) objects from C#/VB.NET
- 14.3 Compiling and using assemblies at runtime
- 14.4 Summary
- 15 Embedding the IronPython engine
- 15.1 Creating a custom executable
- 15.2 IronPython as a scripting engine
- 15.3 Python plugins for .NET applications
- 15.4 Using DLR objects from other .NET languages
- 15.5 Summary
 
appendix A: A whirlwind tour of C#
appendix B: Python magic methods
appendix C: For more information
index