CS5 .NET Framework
Foundations Using C#
Rev. 2.0
Microsoft .NET is an advance in programming technology that greatly
simplifies application development, both for traditional, proprietary
applications and for the emerging paradigm of Web-based services. .NET is a
complete restructuring of Microsoft’s whole system infrastructure and
represents a major learning challenge for programmers developing applications
on Microsoft platforms. Part of .NET is a major new object-oriented programming
language, C#. But learning the new programming language is only part of the
challenge. The much greater challenge is learning the .NET Framework and all
its capabilities.
This comprehensive five-day course provides a sound introduction to
the .NET Framework for programmers who already know the C# language. It is
current to .NET 2.0 and Visual Studio 2005. The course focuses on core portions
of the .NET Framework that are common across many application areas. It
includes coverage of the important C# topics of interfaces, delegates and
events.
For students pursuing MCTS certification, the course provides
helpful preparation for Exam 70-536: Microsoft .NET Framework 2.0—Application
Development Foundation.
The course starts with an introduction to the architecture and key
concepts of .NET. The next chapter discusses how C# relates to the .NET
Framework. The following chapter covers delegates and events. Next, there is a
succinct introduction to creating GUI programs using Windows Forms.
It then discusses class libraries, assemblies, versioning,
configuration, and deployment, which constitute a major advance in the
simplicity and robustness of deploying Windows applications, ending the
notorious “DLL hell.” The next two chapters discuss important topics in the
.NET programming model, including metadata, reflection, I/O, and serialization.
The following chapter continues the discussion of the .NET programming model,
covering memory management, threading, asynchronous programming, and
application domains
.NET Security is introduced in some detail, including both code
access security and role-based security. The next chapter covers
interoperability of .NET with COM and with Win32 applications. Finally,
debugging and tracing are discussed in depth.
The course is practical, with many examples and a case study. The
goal is to equip you to begin building significant applications using the .NET
Framework. The student will receive a comprehensive set of materials, including
course notes and all the programming examples.
LEARNING OBJECTIVES
·
Gain a thorough understanding of the philosophy
and architecture of .NET
·
Learn about important interactions between C#
and the .NET Framework
·
Learn how to implement simple GUI programs using
Windows Forms
·
Acquire a working knowledge of the .NET programming
mode, .NET Security and interoperability with COM and Win32
·
Learn how to debug .NET applications using .NET
diagnostic classes and tools
Duration: 5 days
Prerequisites: The
student should be an experienced application developer or architect with a
working knowledge of C# programming.
1.
.NET Fundamentals
What is Microsoft .NET?
Common Language Runtime
Attribute-Based Programming
Interface-Based Programming
Metadata
Common Type System
Framework Class Library
Language Interoperability
Managed Code
Assemblies and Deployment
Web Services
ASP.NET
2.
C# and the .NET Framework
Components
Interfaces
System.Object
.NET and COM
Collections
IEnumerable and IEnumerator
Copy Semantics in C#
Generic Types
Type-Safe Collections
3.
Delegates and Events
Delegates
Anonymous Methods
Random Number Generation
Events
4.
Introduction to Windows Forms
Creating Windows Applications Using Visual Studio 2005
Partial Classes
Buttons, Labels and Textboxes
Handling Events
Listbox Controls
5.
Class Libraries
Components in .NET
Building Class Libraries at the Command Line
Class Libraries Using Visual Studio 2005
Using References
6.
Assemblies, Deployment and Configuration
Assemblies
Private Assembly Deployment
Shared Assembly Deployment
Configuration Overview
Configuration Files
Programmatic Access to Configuration
Application Settings with .NET 2.0
Using SDK Tools for Signing and Deployment
7.
Metadata and Reflection
Metadata
Reflection
Late Binding
8.
I/O and Serialization
Directories
Files
Serialization
Attributes
9.
.NET Programming Model
Memory Management and Garbage Collection
Threading and Synchronization
Asynchronous Delegates
Application Domains
10. .NET
Security
Authentication and Authorization
Configuring Security
Code Access Security
Code Groups
Evidence
Permissions
Role-Based Security
Principals and Identities
11. Interoperating
with COM and Win32
.NET Client Calling a COM Server
Wrapping Legacy Code
PInvoke
12. Debugging
Fundamentals
Compile-time Errors and Run-time Errors
Configuring Debug, Release, and Special Builds
Visual Studio 2005 Debugger
Just-In-Time Debugging
13. Debugging
and Tracing
Attaching to Processes
Tracing
Event Logs
14. More
About Tracing
Using the BooleanSwitch and TraceSwitch Classes
Print Debugging Information with the Debug Class
Instrumenting Release Builds with the Trace Class
Using Listeners
Implementing Custom Listeners
Appendix A. Learning
Resources
System Requirements
Course exercises require Microsoft Visual Studio 2005 on Windows XP
with Service Pack 2. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course would have a Pentium
1 GHz or equivalent CPU, 512 MB of RAM, and at least 4 GB of free disk space
for tools installation and courseware.