You are on page 1of 42

Module 1

Introducing C# and the


.NET Framework
Module Overview
Introduction to the .NET Framework 4
Creating Projects Within Visual Studio 2010
Writing a C# Application
Building a Graphical Application
Documenting an Application
Debugging Applications By Using Visual Studio 2010
Lesson 1: Introduction to the .NET Framework 4
What Is the .NET Framework 4?
The Purpose of Visual C#
What Is an Assembly?
How the Common Language Runtime Loads, Compiles,
and Runs Assemblies
What Tools Does the .NET Framework Provide?
What Is the .NET Framework 4?
Common Language Runtime
Class Library
Development Frameworks
What Is the .NET Framework 4?
The Purpose of Visual C#
C# has been standardized and is described by the ECMA-
334 C# Language Specification
C# uses a very similar syntax to C, C++, and Java
C# is the language of choice for many developers who build
.NET Framework applications
C#
The Purpose of Visual C#
C#
What Is an Assembly?
MyAssembly .dll OR .exe
Building blocks of .NET Framework applications
Collection of types and resources that form a logical unit of functionality
MyClassA
MyClassB
MyResource
V 1.1.254.1
Assembly version
<major>.<minor>.<build>.<revision>
Assembly signed
with a digital
certificate
What Is an Assembly?
How the Common Language Runtime Loads, Compiles,
and Runs Assemblies
Loads assemblies that the application references
Verifies and compiles assemblies into machine code
Runs the executable assembly
Assemblies contain MSIL code, which is not actually executable
The CLR loads the MSIL code from an assembly and converts it into the
machine code that the computer requires
3
2
1
What Is an Assembly?
Lesson 2: Creating Projects Within Visual Studio 2010
Key Features of Visual Studio 2010
Templates in Visual Studio 2010
The Structure of Visual Studio Projects and Solutions
Creating a .NET Framework Application
Building and Running a .NET Framework Application
Demonstration: Disassembling a .NET Framework
Assembly
Key Features of Visual Studio 2010
Visual Studio 2010:
Intuitive IDE that enables developers to quickly build
applications in their chosen programming language
Visual Studio 2010 features:
Rapid application development
Server and data access
Debugging features
Error handling
Help and documentation
Templates in Visual Studio 2010
Windows Forms Application
Console Application
Class Library
ASP.NET Web Application
WCF Service Application
ASP.NET MVC 2 Application
Silverlight Application
WPF Application
The Structure of Visual Studio Projects and Solutions
Visual Studio Solution
Visual Studio solutions are wrappers for .NET projects
Visual Studio solutions can contain multiple .NET projects
Visual Studio solutions can contain different types of .NET projects
ASP.NET project
.aspx
.aspx.cs
.config
.csproj
WPF project
.xaml
.xaml.cs
.config
.csproj
Console project
.cs
.config
.csproj
Creating a .NET Framework Application
Open Visual Studio 2010
On the File menu, click New, and then click Project
In the New Project dialog box, specify the following, and
then click OK:
- Project template
- Project name
- Project save path
Programmer productivity features include:
IntelliSense
Code snippets
3
2
1
Building and Running a .NET Framework Application
Visual Studio
In Visual Studio 2010, on the Build menu, click Build Solution
On the Debug menu, click Start Debugging
1
2
Demonstration: Disassembling a .NET
Framework Assembly
In this demonstration, you will:
Run an existing .NET Framework application
Open Ildasm
Disassemble an existing .NET Framework assembly
Examine the disassembled .NET Framework assembly
Lesson 3: Writing a C# Application
What Are Classes and Namespaces?
The Structure of a Console Application
Performing Input and Output by Using a Console
Application
Best Practices for Commenting C# Applications
What Are Classes and Namespaces?
System.IO namespace
A class is essentially a blueprint that defines the
characteristics of an entity
A namespace represents a logical collection of classes
File class Path class
DirectoryInfo class
Directory class
FileInfo class
The Structure of a Console Application
using System;

namespace MyFirstApplication
{
class Program
{
static void Main(string[] args)
{

}
}
}

Bring System namespace into scope
Program class declaration
Main method declaration
Namespace declaration
Performing Input and Output by Using a
Console Application
ReadLine()
Clear()
ReadKey()
Write()
WriteLine()
Read()
System.Console method includes:
using System;
...
Console.WriteLine("Hello there!);

Best Practices for Commenting C# Applications
// This is a comment on a separate line.
string message = "Hello there!"; // This is an inline comment.
Begin procedures by using a comment block
In longer procedures, use comments to break up
units of work
When you declare variables, use a comment to indicate
how the variable will be used
When you write a decision structure, use a comment to
indicate how the decision is made and what it implies
Lesson 4: Building a Graphical Application
What Is WPF?
The Structure of a WPF Application
The WPF Control Library
WPF Events
Building a Simple WPF Application
Demonstration: Building a Simple WPF Application
What Is WPF?
WPF is a new foundation for
building Windows-based
applications by combining:
Media
Documents
Graphical user interface
Features of WPF
Ease of user interface design

Extensive support for client
application development

Use of XAML

Support for interoperability with
older applications

The Structure of a WPF Application
<Window x:Class="WpfApplication1.MainWindow xmlns=.. xmlns:x=.."
Title="MainWindow" Height="350" Width="525">
<Grid>
</Grid>
</Window>
Declarative XAML file
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
Code-behind Visual C# file
The WPF Control Library
Button
WPF controls include:
Canvas
ComboBox
Grid
Label
StackPanel
TextBox
<Button Name="myButton" BorderBrush="Black" BorderThickness="1"
Click="myButtonOnClick" ClickMode="Press">
Click Me
</Button>
Button example:
WPF Events
<Button Name="myButton" Click="myButton_Click">ClickMe</Button>
Button definition
private void myButton_Click(object sender, RoutedEventArgs e)
{
// Code to do something goes here.
}
Event handler
Using WPF, you create event-driven applications, for example,
responding to a button being clicked, item selections, and so on
Building a Simple WPF Application
Visual Studio enables you to:
Create a new WPF application
Add controls to the WPF application
Set control properties
Add event handlers to controls
Add code to implement business logic
1
2
3
4
5
Demonstration: Building a Simple WPF Application
In this demonstration, you will:
Create a new WPF application
Add controls to the WPF application
Set the properties for the controls
Add code to the application
Build and run the application
Lesson 5: Documenting an Application
What Are XML Comments?
Common XML Comment Tags
Generating Documentation from XML Comments
What Are XML Comments?
/// <summary> The Hello class prints a greeting on the screen
/// </summary>
public class Hello
{
/// <summary> We use console-based I/O. For more information
/// about
/// WriteLine, see <seealso cref="System.Console.WriteLine"/>
/// </summary>
public static void Main( )
{
Console.WriteLine("Hello World");
}
}
Use XML comments to generate Help documentation for
your applications
Generating Documentation from XML Comments
Generate an XML file from Visual Studio 2010
<?xml version="1.0"?>
<doc>
<assembly> <name>MyProject</name></assembly>
<members>
<member name="T:Hello">
<summary> The Hello class prints a greeting on the screen
</summary>
</member>
<member name="M:Hello.Main">
...
</member>
</members>
</doc>
Lesson 6: Debugging Applications by Using Visual
Studio 2010
Debugging in Visual Studio 2010
Using Breakpoints
Stepping Through and Over Code
Using the Debug Windows
Debugging in Visual Studio 2010
Debugging is an essential part of application development
Visual Studio 2010 provides several tools to help you
debug code
Step Out
Step Over
Step Into
Restart
Stop Debugging
Break All Start Debugging
Using Breakpoints
When you run an application in Debug mode, you can pause
execution and enter break mode
Visual Studio 2010 enables you to:
Locate a specific line of code and set a breakpoint
Locate a breakpoint and disable it
Locate a breakpoint and remove it



Stepping Through and Over Code
You can step through code one statement at a time to see
exactly how processing proceeds through your application
Visual Studio 2010 enables you to:
Step into the current statement
Step over the current statement
Step out of the current statement



Using the Debug Windows
Visual Studio 2010 includes several windows that you can
use to help debug your applications
Locals
Output
Memory Processes
Modules
Call Stack
QuickWatch
Threads
Immediate
Exercise 1: Building a Simple Console Application
Exercise 2: Building a WPF Application
Exercise 3: Verifying the Application
Exercise 4: Generating Documentation for an Application

Logon information
Virtual machine 10266A-GEN-DEV
User name Student
Password
Pa$$w0rd
Estimated time: 60 minutes
Lab: Introducing C# and the .NET Framework
Lab Scenario

Lab Review
Review Questions
What methods did you use to capture and display
information in your console application?
What event did you handle on the Format Data button in
your WPF application?
What debugging functions did you use when you verified
the application?
How do you instruct Visual Studio 2010 to produce an XML
file that contains XML comments?

Module Review and Takeaways
Review Questions
Best Practices
Tools

You might also like