Microsoft official course. Creating methods, handling exceptions, and monitoring applications. (Module 2)

Содержание

Слайд 2

Module Overview Creating and Invoking Methods Creating Overloaded Methods and Using

Module Overview

Creating and Invoking Methods Creating Overloaded Methods and Using Optional and

Output Parameters Handling Exceptions Monitoring Applications
Слайд 3

Lesson 1: Creating and Invoking Methods What Is a Method? Creating

Lesson 1: Creating and Invoking Methods

What Is a Method? Creating Methods Invoking Methods Debugging

Methods Demonstration: Creating, Invoking, and Debugging Methods
Слайд 4

What Is a Method? Methods encapsulate operations that protect data .NET

What Is a Method?

Methods encapsulate operations that protect data
.NET Framework applications

contain a Main entry point method
The .NET Framework provides many methods in the base class library
Слайд 5

Creating Methods Methods comprise two elements: Method specification (return type, name,

Creating Methods

Methods comprise two elements:
Method specification (return type, name, parameters)
Method body


Use the ref keyword to pass parameter references

void StartService(int upTime, bool shutdownAutomatically)
{
// Perform some processing here.
}

Слайд 6

Invoking Methods To call a method specify: Method name Any arguments

Invoking Methods

To call a method specify:
Method name
Any arguments to satisfy parameters


var upTime = 2000;
var shutdownAutomatically = true;
StartService(upTime, shutdownAutomatically);
// StartService method.
void StartService(int upTime, bool shutdownAutomatically)
{
// Perform some processing here.
}

Слайд 7

Debugging Methods Visual Studio provides debug tools that enable you to

Debugging Methods

Visual Studio provides debug tools that enable you to step

through code
When debugging methods you can:
Step into the method
Step over the method
Step out of the method
Слайд 8

Demonstration: Creating, Invoking, and Debugging Methods In this demonstration, you will

Demonstration: Creating, Invoking, and Debugging Methods

In this demonstration, you will create

a method, invoke the method, and then debug the method.
Слайд 9

Text Continuation

Text Continuation

Слайд 10

Lesson 2: Creating Overloaded Methods and Using Optional and Output Parameters

Lesson 2: Creating Overloaded Methods and Using Optional and Output Parameters

Creating

Overloaded Methods Creating Methods that Use Optional Parameters Calling a Method by Using Named Arguments Creating Methods that Use Output Parameters
Слайд 11

Creating Overloaded Methods Overloaded methods share the same method name Overloaded

Creating Overloaded Methods

Overloaded methods share the same method name
Overloaded methods have

a unique signature

void StopService()
{
...
}
void StopService(string serviceName)
{
...
}
void StopService(int serviceId)
{
...
}

Слайд 12

Creating Methods that Use Optional Parameters Define all mandatory parameters first

Creating Methods that Use Optional Parameters

Define all mandatory parameters first
Satisfy parameters

in sequence

void StopService(
bool forceStop,
string serviceName = null,
int serviceId =1)
{
...
}

var forceStop = true;
StopService(forceStop);
// OR
var forceStop = true;
var serviceName = "FourthCoffee.SalesService";
StopService(forceStop, serviceName);

Слайд 13

Calling a Method by Using Named Arguments Specify parameters by name

Calling a Method by Using Named Arguments

Specify parameters by name
Supply arguments

in a sequence that differs from the method’s signature
Supply the parameter name and corresponding value separated by a colon

StopService(true, serviceID: 1);

Слайд 14

Creating Methods that Use Output Parameters Use the out keyword to

Creating Methods that Use Output Parameters

Use the out keyword to define

an output parameter
Provide a variable for the corresponding argument when you call the method

bool IsServiceOnline(string serviceName, out string statusMessage)
{
...
}

var statusMessage = string.Empty;
var isServiceOnline = IsServiceOnline(
"FourthCoffee.SalesService",
out statusMessage);

Слайд 15

Lesson 3: Handling Exceptions What Is an Exception? Handling Exception by

Lesson 3: Handling Exceptions

What Is an Exception? Handling Exception by Using a

Try/Catch Block Using a Finally Block Throwing Exceptions
Слайд 16

What Is an Exception? An exception is an indication of an

What Is an Exception?

An exception is an indication of an error

or exceptional condition
The .NET Framework provides many exception classes:
Exception
SystemException
ApplicationException
NullReferenceException
FileNotFoundException
SerializationException
Слайд 17

Handling Exception by Using a Try/Catch Block Use try/catch blocks to

Handling Exception by Using a Try/Catch Block

Use try/catch blocks to handle

exceptions
Use one or more catch blocks to catch different types of exceptions

try
{
}
catch (NullReferenceException ex)
{
// Catch all NullReferenceException exceptions.
}
catch (Exception ex)
{
// Catch all other exceptions.
}

Слайд 18

Using a Finally Block Use a finally block to run code

Using a Finally Block

Use a finally block to run code whether

or not an exception has occurred

try
{
}
catch (NullReferenceException ex)
{
// Catch all NullReferenceException exceptions.
}
catch (Exception ex)
{
// Catch all other exceptions.
}
finally
{
// Code that always runs.
}

Слайд 19

Throwing Exceptions Use the throw keyword to throw a new exception

Throwing Exceptions

Use the throw keyword to throw a new exception
Use the

throw keyword to rethrow an existing exception

try
{
}
catch (NullReferenceException ex)
{
}
catch (Exception ex)
{
...
throw;
}

var ex =
new NullReferenceException("The 'Name' parameter is null.");
throw ex;

Слайд 20

Lesson 4: Monitoring Applications Using Logging and Tracing Using Application Profiling

Lesson 4: Monitoring Applications

Using Logging and Tracing Using Application Profiling Using Performance Counters Demonstration:

Extending the Class Enrollment Application Functionality Lab
Слайд 21

Using Logging and Tracing Logging provides information to users and administrators

Using Logging and Tracing

Logging provides information to users and administrators
Windows event

log
Text files
Custom logging destinations
Tracing provides information to developers
Visual Studio Output window
Custom tracing destinations
Слайд 22

Using Application Profiling Create and run a performance session Analyze the

Using Application Profiling

Create and run a performance session
Analyze the profiling report
Revise

your code and repeat
Слайд 23

Using Performance Counters Create performance counters and categories in code or

Using Performance Counters

Create performance counters and categories in code or in

Server Explorer
Specify:
A name
Some help text
The base performance counter type
Update custom performance counters in code
View performance counters in Performance Monitor (perfmon.exe)
Слайд 24

Demonstration: Extending the Class Enrollment Application Functionality Lab In this demonstration,

Demonstration: Extending the Class Enrollment Application Functionality Lab

In this demonstration, you

will learn about the tasks that you will perform in the lab for this module.
Слайд 25

Text Continuation

Text Continuation

Слайд 26

Lab: Extending the Class Enrollment Application Functionality Exercise 1: Refactoring the

Lab: Extending the Class Enrollment Application Functionality

Exercise 1: Refactoring the Enrollment

Code Exercise 2: Validating Student Information Exercise 3: Saving Changes to the Class List

Logon Information

Virtual Machine: 20483B-SEA-DEV11, MSL-TMG1
User Name: Student
Password: Pa$$w0rd

Estimated Time: 90 minutes

Слайд 27

Text Continuation

Text Continuation

Слайд 28

Lab Scenario You have been asked to refactor the code that

Lab Scenario

You have been asked to refactor the code that you

wrote in the lab exercises for module 1 into separate methods to avoid the duplication of code in the Class Enrollment Application.
Also, you have been asked to write code that validates the student information that the user enters and to enable the updated student information to be written back to the database, handling any errors that may occur.
Слайд 29

Module Review and Takeaways Review Question(s)

Module Review and Takeaways

Review Question(s)