Introducing C# and the.NET Framework 4 Module Overview Introduction to the NET Framework 4 Introducing Visual C# What Is an Assembly? How the Common language Runtime Loads, Compiles, and Runs assemblies 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 and running a.NET Framework application Creating and Running a C# application Demonstration: disassembling a
Introducing C# and the.NET Framework 4 Module Overview Introduction to the NET Framework 4 Introducing Visual C# What Is an Assembly? How the Common language Runtime Loads, Compiles, and Runs assemblies 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 and running a.NET Framework application Creating and Running a C# application Demonstration: disassembling a
Introducing C# and the.NET Framework 4 Module Overview Introduction to the NET Framework 4 Introducing Visual C# What Is an Assembly? How the Common language Runtime Loads, Compiles, and Runs assemblies 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 and running a.NET Framework application Creating and Running a C# application Demonstration: disassembling a
.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