C# and .NET Programming - Detailed Course Outline
Copyright © 2001-2006 Anderson Software Group, Inc.
(return to main C# and .NET page)

Section 1 - .NET and C# Overview

  • .NET Framework
    • Supporting Libraries
    • Common Language RunTime (CLR)
    • Enterprise Services
    • Foundation Services
  • Developer Tools
Section 2 - Polymorphic Programming
  • Classes and Objects
    • Value, Object, and Reference Types
    • Boxing and Unboxing
    • Creating and Destroying Objects
  • Inheritance
    • Base and Derived Classes
    • Abstract Classes
    • Sealed Classes
  • Polymorphism 
    • Creating Polymorphic Types
    • Method Overriding
    • The new and override Keywords
    • Accessing Base Class Members
  • Interfaces
    • Implementing Interfaces
    • Extending Interfaces
    • The as and is Operators
    • Interfaces vs. Abstract Classes
Section 3 - Stream I/O
  • Files and Directories
    • Working with Files
    • Working with Directories
  • Reading and Writing Data
    • Text Files
    • Binary Files
    • Buffered Streams
  • Asynchronous I/O 
Section 4 - Delegates and Events
  • Delegates
    • Type-safe Function Pointers
    • The delegate Keyword
    • Static and Instance Methods
    • Callback Elements
  • Events
    • Publish-Subscribe Pattern
    • The event Keyword
    • Delegate Fields and Properties
    • Event Properties
    • Event Handlers
Section 5 - Attributes and Reflection
  • Intrinsic Attributes
    • Attribute Targets
    • Applying Attributes
  • Custom Attributes
    • Creating Attributes
    • Using Attributes
  • Reflection
    • Viewing Metadata
    • Type Discovery
    • Dynamic Invocation
Section 6 - Assemblies and Modules
  • Organization
    • Versioning
    • PE Files
    • Metadata
    • Manifests
  • Creating Assemblies
    • Private Assemblies
    • Shared Assemblies
    • Multi-Module Assemblies
    • Configuration Files
Section 7 - AppDomains, Contexts, Marshalling
  • Application Domains
    • Creating an AppDomain
    • Friendly Names
    • Global Exception Handler
    • Working with Threads
  • Contexts
    • Context-Bound Objects
    • Context-Agile Objects
  • Marshalling
    • Marshall by Value
    • Marshall by Reference
    • Transparent Proxies
    • Non-remotable Objects
    • Wrapped Objects
Section 8 - Win 32/COM Interoperability
  • The .NET Approach
    • Common Language RunTime Support
    • Purpose and Portability Restrictions
    • Managed and Unmanaged Code
  • Working with COM
    • Importing COM Components to .NET
    • Exporting .NET Components to COM
    • Managed Code to COM Components
  • Working with Win32
    • Calling Win32 API Methods
    • Managed Code to native DLL's
    • C++ Managed Extensions
    • Unmanaged Code
Appendix

Bibliography