MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation Comments and Corrections Part 4

Article translations Article translations
Article ID: 949734
Expand all | Collapse all

On This Page

Summary

This article contains comments, corrections, and information about known errors relating to the Microsoft Press book MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation, 0-7356-2277-9. Additional corrections for this book are available in articles 923018, 935218, and 949730.

The following topics are covered:

  • Page 733: Managers group referenced in place of Accounting group
  • Page 740: Data.data file referenced in place of Data.dat
  • Page 790: .NET application referenced in place of COM application
  • Page 794: Square brackets used in place of angle brackets
  • Page 799-800: Unneeded using statements in C# code samples
  • Page 815: "Layout.Sequential" used in place of "LayoutKind.Sequential"
  • Page 816: "Layout.Explicit" used in place of "LayoutKind.Explicit"
  • Page 831: Models referenced in place of modules
  • Page 834: Code sample included in the wrong location
  • Page 838: Include statement referenced in place of using statement
  • Page 838: ShowAssembly method referenced in place of ShowAssemblyInfo
  • Page 847: GetCustomAttribute referenced in place of GetCustomAttributes
  • Page 852: Class referenced in place of instance
  • Pages 855-856: InterfaceInfo referenced in place of Type
  • Page 861: Enumeration referenced in place of property
  • Page 864: Include statement referenced in place of using statement
  • Pages 864-865: BindingFlag referenced in place of BindingFlags
  • Page 871: Class referenced in place of method
  • Page 871: Object referenced in place of class
  • Page 872: Include statement referenced in place of using statement
  • Page 876: EventBulder class referenced in place of EventBuilder class
  • Page 879: Class referenced in place of object
  • Page 881: PropertyAttribute referenced in place of PropertyAttributes
  • Page 882: Include statements referenced in place of using statements
  • Page 887: Incorrect scope given for case scenarios
  • Page 924: "CultureType" used in place of "CultureTypes"
  • Page 930: Error in C# in code sample
  • Page 936: Culture class listed incorrectly in first paragraph
  • Page 936: Culture class listed incorrectly in first NOTE section
  • Page 945: Clarification needed for answers B and D for question 2
  • Page 946: Creating items referenced rather than passing them
  • Page 950: Correct answer should be A
  • Page 953: Answer explanation incorrect
  • Page 954: Corrections in answers for Lesson 2
  • Page 954: Answer E is incorrect
  • Page 957: Answer B to question 1 of chapter 3 is incorrect
  • Page 963: Incorrect .NET version referenced in Scenario 2, answer 1
  • Page 977: Reference to question 3 should be removed
  • Page 977: .NET Framework 0 referenced in place of .NET Framework 2.0
  • Page 978: Mapping specification is required for OpenMappedMachineConfiguration
  • Page 980: RemoveLog should be DeleteLog
  • Page 986: SecurityAction.Demand can be used declaratively
  • Page 996: "overcode" used in place of "overcome"
  • Page 1002: SmtpFailedReceipientException should be SmtpFailedRecipientException
  • Page 1002: Answers to Question 1 are partially incorrect
  • Page 1002: 120.0.1 should be 127.0.0.1
  • Page 1007: The Bitmap glossary entry is not identified as such
  • Page 1007: The Brush glossary entry is not identified as such
  • Page 1009: The Debug and Debugger glossary entries are not identified as such
  • Page 1010: The Graphics glossary entry is not identified as such
  • Page 1011: The LocalService and LocalSystem glossary entries are not identified as such
  • Page 1011: The ManagementQuery glossary entry is not identified as such
  • Page 1012: The NetworkService glossary entry is not identified as such
  • Page 1012: The Pen glossary entry is not identified as such
  • Page 1013: The SoapFormatter glossary entry is not identified as such
  • Page 1014: The StackTrace glossary entry is not identified as such

More information

Page 733: Managers group referenced in place of Accounting group

On page 733, the last sentence reads:

"Even though Mary is a member of the Managers group, and the Managers group has Full Control privileges, the Deny ACE means that all members of the Managers group are denied access to the file."

It should read:

"Even though Mary is a member of the Managers group, and the Managers group has Full Control privileges, the Deny ACE means that all members of the Accounting group are denied access to the file."

Page 740: Data.data file referenced in place of Data.dat

On page 740, the code sample reads:

' VB
File.Create("C:\Guest\Data.Data")

// C#
File.Create(@"C:\Guest\Data.Data");

It should read:

' VB
File.Create("C:\Guest\Data.Dat")

// C#
File.Create(@"C:\Guest\Data.Dat");


Page 790: .NET application referenced in place of COM application

On page 790, the description of the Type Library Exporter in Table 13-1 reads:

"Creates a COM type library that can be consumed by a .NET application"

It should read:

"Creates a COM type library that can be consumed by a COM application"

Page 794: Square brackets used in place of angle brackets

On page 794, the third line of the code sample reads:

[assembly: RuntimeCompatibility(WrapNonExceptionThrows=false)]

It should read:

<Assembly: RuntimeCompatibility(WrapNonExceptionThrows:=False)>


Page 799-800: Unneeded using statements in C# code samples

On pages 799-800, the first three lines of the C# code sample reads:

using System;
using System.Collections.Generic;
using System.Text;

These lines should be removed.

Page 815: "Layout.Sequential" used in place of "LayoutKind.Sequential"

On page 815, the bold section header near the middle of the page reads:

"Layout.Sequential"

It should read:

"LayoutKind.Sequential"

The first sentence under the Layout.Sequential section heading reads:

"The first method to use is the Layout.Sequential option."

It should read:

"The first method to use is the LayoutKind.Sequential option."

Page 816: "Layout.Explicit" used in place of "LayoutKind.Explicit"

On page 816, the section heading at the top of the page reads:

"Layout.Explicit"

It should read:

"LayoutKind.Explicit"

Page 831: Models referenced in place of modules

On page 831, the third sentence reads:

"From assemblies and models all the way down to the individual statements that are part of a line of code, reflection allows you to both interrogate and generate code in .NET."

It should read:

"From assemblies and modules all the way down to the individual statements that are part of a line of code, reflection allows you to both interrogate and generate code in .NET."

Page 834: Code sample included in the wrong location

On page 834, the second and third paragraphs read:

"More interesting are the GetCallingAssembly, GetEntryAssembly, and GetExecutingAssembly calls. These methods allow you to retrieve an instance of the Assembly class for assemblies that are part of the current call stack. GetEntryAssembly returns an instance of the assembly that contains the start-up method (usually the executable assembly for a desktop application), as shown in the following example:
' VB
Dim theAssembly As Assembly = Assembly.GetExecutingAssembly

// C#
Assembly theAssembly = Assembly.GetExecutingAssembly();

You can retrieve the assembly for the currently running code by calling GetExecutingAssembly. In contrast, the GetCallingAssembly retrieves an instance of the Assembly class for the method one level up in the call stack. In other words, it retrieves the assembly that contains the method that called the currently executing code."

They should read:

"More interesting are the GetCallingAssembly, GetEntryAssembly, and GetExecutingAssembly calls. These methods allow you to retrieve an instance of the Assembly class for assemblies that are part of the current call stack. GetEntryAssembly returns an instance of the assembly that contains the start-up method (usually the executable assembly for a desktop application).

You can retrieve the assembly for the currently running code by calling GetExecutingAssembly. In contrast, the GetCallingAssembly retrieves an instance of the Assembly class for the method one level up in the call stack. In other words, it retrieves the assembly that contains the method that called the currently executing code. See the following example:
' VB
Dim theAssembly As Assembly = Assembly.GetExecutingAssembly

// C#
Assembly theAssembly = Assembly.GetExecutingAssembly();
"

Page 838: Include statement referenced in place of using statement

On page 838, step 2 reads:

"Add an include statement (or the Imports statement for Visual Basic) to the System.Reflection namespace to the main code file."

It should read:

"Add a using statement (or the Imports statement for Visual Basic) to the System.Reflection namespace to the main code file."

Page 838: ShowAssembly method referenced in place of ShowAssemblyInfo

On page 838, steps 3, 4, 7 and 9 read:

"3. Create a new static method called ShowAssembly that takes an instance of the Assembly class as a parameter.

4. Inside the new ShowAssembly method, write out the FullName, GlobalAssemblyCache, Location, and ImageRuntimeVersion properties to the console.

7. Call the ShowAssembly method with the new assembly instance.

9. Call the ShowAssembly method again with this instance of the Assembly instance from the executing assembly. Your code might look something like this:"

They should read:

"3. Create a new static method called ShowAssemblyInfo that takes an instance of the Assembly class as a parameter.

4. Inside the new ShowAssemblyInfo method, write out the FullName, GlobalAssemblyCache, Location, and ImageRuntimeVersion properties to the console.

7. Call the ShowAssemblyInfo method with the new assembly instance.

9. Call the ShowAssemblyInfo method again with the Assembly instance from the executing assembly. Your code might look something like this:"

Page 847: GetCustomAttribute referenced in place of GetCustomAttributes

On page 847, the sixth sentence of the Getting Assembly Attributes section reads:

"Because of this, the GetCustomAttribute allows for a Boolean value to indicate whether to get inherited attributes."

It should read:

"Because of this, the GetCustomAttributes allows for a Boolean value to indicate whether to get inherited attributes."

Page 852: Class referenced in place of instance

On page 852, the sentence following the bulleted list in the Getting Types section reads:

"When working with an Assembly class, you can ask it for all the Types in all the modules of the assembly by calling the GetTypes method:"

It should read:

"When working with an Assembly instance, you can ask it for all the Types in all the modules of the assembly by calling the GetTypes method:"

Pages 855-856: InterfaceInfo referenced in place of Type

On page 855, the description for GetInterface in Table 14-8 reads:

"Retrieves a specific InterfaceInfo object that is associated with this Type"

It should read:

"Retrieves a specific Type object that is associated with this Type"

On page 856, the description for GetInterfaces in Table 14-8 reads:

"Retrieves all the InterfaceInfo objects that are associated with this Type"

It should read:

"Retrieves all the Type objects that are associated with this Type"

Page 861: Enumeration referenced in place of property

On page 861, the first two sentences following Table 14-9 read:

"You can see the type of member each of these MemberInfo objects is by checking the MemberType enumeration on the MemberInfo class. This enumeration contains all the different types of members that a MemberInfo object can represent."

They should read:

"You can see the type of member each of these MemberInfo objects is by checking the MemberType property on the MemberInfo class. This property contains an enumeration value that can represent all the different types of members that a MemberInfo object can represent."

Page 864: Include statement referenced in place of using statement

On page 864, step 2 reads:

"Add an include statement (or Imports in Visual Basic) to the System.Reflection namespace to the main code file."

It should read:

"Add a using statement (or Imports in Visual Basic) to the System.Reflection namespace to the main code file."

Pages 864-865: BindingFlag referenced in place of BindingFlags

On pages 864, step 4 reads:

"Create a local BindingFlag variable, and store the flags to get only declared, public instance members."

It should read:

"Create a local BindingFlags variable, and store the flags to get only declared, public instance members."

On page 865, step 10 reads:

"Continue inside the iteration loop, and get all the members from each type using the BindingFlag variable from step 4."

It should read:

"Continue inside the iteration loop, and get all the members from each type using the BindingFlags variable from step 4."

Page 871: Class referenced in place of method

On page 871, the first sentence following the first code sample reads:

"In this example, you are getting the MethodInfo for the overload of the WriteLine class that takes a single String and writes it out to the console."

It should read:

"In this example, you are getting the MethodInfo for the overload of the WriteLine method that takes a single String and writes it out to the console."

Page 871: Object referenced in place of class

On page 871, the first sentence following the second code sample reads:

"Because this is a static method, you specify a null in the parameter that would ordinarily take the instance of the object on which to run the method."

It should read:

"Because this is a static method, you specify a null in the parameter that would ordinarily take the instance of the class on which to run the method."

Page 872: Include statement referenced in place of using statement

On page 872, step 2 reads:

"In the main code file, add an include statement (or Imports for Visual Basic) to the System.Reflection namespace."

It should read:

"In the main code file, add a using statement (or Imports for Visual Basic) to the System.Reflection namespace."

Page 876: EventBulder class referenced in place of EventBuilder class

On page 876, the fourth name in Table 14-11 reads:

"EventBulder"

It should read:

"EventBuilder"

Page 879: Class referenced in place of object

On page 879, the first sentence of the Creating Members section reads:

"The TypeBuilder class that the DefineType method returns is central to creating dynamic code."

It should read:

"The TypeBuilder object that the DefineType method returns is central to creating dynamic code."

Page 881: PropertyAttribute referenced in place of PropertyAttributes

On page 881, the first sentence following the third code sample reads:

"Although defining the property is much like defining a method, the PropertyAttribute enumeration does not allow defining as many aspects of the properties as you might expect."

It shoulld read:

"Although defining the property is much like defining a method, the PropertyAttributes enumeration does not allow defining as many aspects of the properties as you might expect."

Page 882: Include statements referenced in place of using statements

On page 882, step 2 reads:

"In the main code file, add include statements (or Imports statements for Visual Basic) for System.Reflection and System.Reflection.Emit namespaces."

It should read:

"In the main code file, add using statements (or Imports statements for Visual Basic) for System.Reflection and System.Reflection.Emit namespaces."

Page 887: Incorrect scope given for case scenarios

On page 887, the first sentence reads:

"In the following case scenario, you will apply what you’ve learned about how to use application domains and services."

It should read:

"In the following case scenario, you will apply what you’ve learned about the topics of this chapter."

Page 924: "CultureType" used in place of "CultureTypes"

On page 924, the last sentence on the page reads:

"The GetCultures method takes a single parameter of type CultureType."

It should read:

"The GetCultures method takes a single parameter of type CultureTypes."

Page 930: Error in C# in code sample

On page 930, the first line in the second C# code snippet on page 930 reads:

CompareInfo DemoInfo = Thread.CurrentThread.CurrentCulture.CompareInfo;


It should read:

CompareInfo DemoInfo = new CultureInfo(“en-US”).CompareInfo;


Page 936: Culture class listed incorrectly in first paragraph

On page 936, the third sentence in the first paragraph reads:

"The CultureRegionAndInfoBuilder class enables you to create and use a customized culture."

It should read:

"The CultureAndRegionInfoBuilder class enables you to create and use a customized culture."

Page 936: Culture class listed incorrectly in first NOTE section

On page 936, under the NOTE .NET 2.0 section it reads:

"The CultureRegionAndInfoBuilder class is new in .NET 2.0"

It should read:

"The CultureAndRegionInfoBuilder class is new in .NET 2.0"

Page 945: Clarification needed for answers B and D for question 2

On page 945, answers B and D for question 2 read:

"B. Correct: Procedures work with a copy of variables when you pass a value type. Therefore, any modifications that were made to the copy would not affect the original value. D. Incorrect: If the variable had been a reference, the original value would have been modified."

They should read:

"B. Correct: Procedures work with a copy of variables when you pass a value type by value. Therefore, any modifications that were made to the copy would not affect the original value. D. Incorrect: If the variable had been passed by reference, the original value would have been modified."

Page 946: Creating items referenced rather than passing them

On page 946, the answers to question 4 read:

"A. Incorrect: You could create a reference class; however, it could be modified when passed to a procedure.
B. Incorrect: You cannot create a reference structure.
C. Incorrect: You could create a value class; however, structures tend to be more efficient.
D. Correct: Value structures are typically the most efficient."

They should read:
"A. Incorrect: You could pass a class by reference; however, it could be modified when passed to a procedure.
B. Incorrect: You could pass a structure by reference; however, it could be modified when passed to a procedure.
C. Incorrect: You could pass a class by value; however passing structures by value tend to be more efficient.
D. Correct: Structures passed by value are typically the most efficient."

Page 950: Correct answer should be A

On page 950, the correct answer to Chapter 2 Lesson Review Question 3 is incorrect.

Change:
"3. Correct Answer: B
A. Incorrect: The Path class deals only with the string of a path. It makes no changes to the file system.
B. Correct: The Path class deals only with the string of a path. It makes no changes to the file system."

To:
"3. Correct Answer: A
A. Correct: The Path class will change the file extension.
B: Incorrect: The Path class will change the file extension."

Page 953: Answer explanation incorrect

On page 953, Chapter 3, Lesson 1, Question 2 answer A reads:

"A. Correct: ISerializable is an interface that you can implement to perform custom serialization. It is not an attribute."

It should read:

"A. Correct: This code sample works correctly by using the RegexOptions.Multiline option to process multiline input."

Page 954: Corrections in answers for Lesson 2

On page 954, Chapter 3, Lesson 2, Question 1 answers B through D read:

"B. Incorrect: UTF-16 has a smaller byte size than UTF-3
C. Incorrect: UTF-8 has a smaller byte size than UTF-3
D. Incorrect: ASCII has a smaller byte size than UTF-3"

It should read:

"B. Incorrect: UTF-16 has a smaller byte size than UTF-32
C. Incorrect: UTF-8 has a smaller byte size than UTF-32
D. Incorrect: ASCII has a smaller byte size than UTF-32"

Page 954: Answer E is incorrect

On page 954, Answer E for Question 4 should be incorrect.

Change:
"4. Correct Answers: A, C, and E"

To:
"4. Correct Answers: A and C"

Change:
"E. Correct: This string does match the regular expression."

To:
"E. Incorrect: This string does not match the regular expression because the first character must be "a"."

Page 957: Answer B to question 1 of chapter 3 is incorrect

On page 957, the answer given for question 1 of Chapter 3 is incorrect.

Change:
"1. Correct Answers: B and D
A. Incorrect: GetType is not called to determine uniqueness.
B. Correct: The hash value from the object is used to see whether the hash has been used in the collection.
C. Incorrect: The string representation of the object does not determine whether the key is unique. The Hashtable class only uses the hash value to determine uniqueness.
D. Correct: If two hash values are identical, Equals can be called to determine whether two objects are in fact equal before assigning the value to a key."

To:
"1. Correct Answer: D
A. Incorrect: GetType is not called to determine uniqueness.
B. Incorrect: The hash value from the object is used to see whether the hash has been used in the collection, but does not indicate whether the object has been used as a key.
C. Incorrect: The string representation of the object does not determine whether the key is unique. The Hashtable class only uses the hash value to determine uniqueness.
D. Correct: If two hash values are identical, Equals can be called to determine whether two objects are in fact equal before assigning the value to a key."

Page 963: Incorrect .NET version referenced in Scenario 2, answer 1

On page 963, Answer 1 for Case Scenario 2 reads:

"Yes, BinaryFormatter can deserialize objects serialized with .NET 0."

It should read:

"Yes, BinaryFormatter can deserialize objects serialized with .NET 1.0."

Page 977: Reference to question 3 should be removed

On page 977, the answer to chapter 9, lesson 2, question 3 reads:

"3. Correct Answer: D
A. Incorrect: The Custom Actions view is used to facilitate custom actions along the installation path. It has no true bearing on the registry.
B. Incorrect: The File System view is used to facilitate changes to the file system. It has no real control over the registry.
C. Incorrect: There is no Registry Editor view.
D. Correct: The Registry view is the correct view to allow additions and modifications to the registry."

This text should be disregarded.

Page 977: .NET Framework 0 referenced in place of .NET Framework 2.0

On page 977, answers A and B to lesson 3, question 1 read:

"A. Incorrect: Processes can be viewed with the Process class but not with the .NET Framework 0 Configuration tool.
B. Incorrect: Services cannot be viewed with the .NET Framework 0 Configuration tool."

They should read:

"A. Incorrect: Processes can be viewed with the Process class but not with the .NET Framework 2.0 Configuration tool.
B. Incorrect: Services cannot be viewed with the .NET Framework 2.0 Configuration tool."

Page 978: Mapping specification is required for OpenMappedMachineConfiguration

On page 978, lesson 4, question 1, answer D reads:

"Correct: OpenMappedMachineConfiguration is a valid method to open the machine configuration file."

It should read:

"Correct: OpenMappedMachineConfiguration is a valid method to open a machine configuration file as long as a mapping is specified."

Page 980: RemoveLog should be DeleteLog

On page 980, answer D to question 4 refers to RemoveLog rather than DeleteLog.

Change:
"D. Incorrect: There is no RemoveLog method of the EventLog class."

To:
"D. Incorrect: There is no DeleteLog method of the EventLog class."

Page 986: SecurityAction.Demand can be used declaratively

On page 986, the first answer for Chapter 11, Lesson 3, Question 2 reads:

"A. Incorrect: SecurityAction.Demand instructs the runtime to throw and exception if the caller and all callers higher in the stack lack the specified permissions. However, SecurityAction.Demand must be used imperatively, and the question describes a need for declarative security."

It should read:

"A. Correct: SecurityAction.Demand instructs the runtime to throw and exception if the caller and all callers higher in the stack lack the specified permissions."

Page 996: "overcode" used in place of "overcome"

On page 996, in Question 2, Answer A, the second sentence reads:

"Although the types might vary, the MarshalAs method can be used to overcode this."

It should read:

"Although the types might vary, the MarshalAs method can be used to overcome this."

Page 1002: SmtpFailedReceipientException should be SmtpFailedRecipientException

On page 1002, Lesson 2, Question 3, Answer A includes a mispelling of the exception.

Change:
"A. Correct: The runtime throws SmtpFailedReceipientException if the SMTP server rejects an e-mail address."

To:
"A. Correct: The runtime throws SmtpFailedRecipientException if the SMTP server rejects an e-mail address."

Page 1002: Answers to Question 1 are partially incorrect

On page 1002, the answer to Question 1 of Lesson 2 is incorrect and the explanations of the other answers are partially incorrect.

Change:
"1. Correct Answer: B
A. Incorrect: The MailMessage class does not have a Send method.
B. Correct: To send a message, create an instance of SmtpClient and call the Send method.
C. Incorrect: There is no SmtpServer class.
D. Incorrect: There is no MailClient class."

To:
"1. Correct Answer: C
A. Incorrect: The MailMessage class does not have a Send method.
B. Incorrect: SmtpClient.Send does not wait for the transmission to complete before proceeding.
C. Correct: SmtpClient.SendAsync sends an e-mail message and then waits for the transmission to complete before proceeding.
D. Incorrect: There is no MailMessage class."

Page 1002: 120.0.1 should be 127.0.0.1

On page 1002, the explanation for Answer D of question 2 is incorrect.

Change:
"120.0.1 is a special IP address that always describes the local computer."

To:
"127.0.0.1 is a special IP address that always describes the local computer."

Page 1007: The Bitmap glossary entry is not identified as such

On page 1007, the third-to-last entry on the page reads:

"Located in the System.Drawing namespace, this class provides methods for loading and saving images, and editing individual pixels."

It should read:

"Bitmap Located in the System.Drawing namespace, this class provides methods for loading and saving images, and editing individual pixels."

Page 1007: The Brush glossary entry is not identified as such

On page 1007, the last entry on the page reads:

"Located in the System.Drawing namespace, classes derived from the Brush class are required for drawing text and filling in shapes."

It should read:

"Brush Located in the System.Drawing namespace, classes derived from the Brush class are required for drawing text and filling in shapes."

Page 1009: The Debug and Debugger glossary entries are not identified as such

On page 1009, the two entries below "Data Encryption Standard (DES)" read:

"A specific constant defined in an application that allows Debugger objects to be attached to code.

A class that provides access to the default debugger attached to an application."

They should read:

"Debug A specific constant defined in an application that allows

Debugger objects to be attached to code. Debugger A class that provides access to the default debugger attached to an application."

Page 1010: The Graphics glossary entry is not identified as such

On page 1010, the entry after globalization reads:

"Located in the System.Drawing namespace, this class provides methods for drawing lines, shapes, and text."

It should read:

"Graphics Located in the System.Drawing namespace, this class provides methods for drawing lines, shapes, and text."

Page 1011: The LocalService and LocalSystem glossary entries are not identified as such

On page 1011, the two entries after "localization" read:

"A service account that runs with very limited privileges.

A service account that runs with almost unlimited privileges."

They should read:

"LocalService A service account that runs with very limited privileges.

LocalSystem A service account that runs with almost unlimited privileges."

Page 1011: The ManagementQuery glossary entry is not identified as such

On page 1011, the entry after "managed code" reads:

"A request for information about a Windows Management Instrumentation object."

It should read:

"ManagementQuery A request for information about a Windows Management Instrumentation object."

Page 1012: The NetworkService glossary entry is not identified as such

On page 1012, the entry after ".NET Framework 2.0 Configuration tool" reads:

"A service account that is capable of authenticating to remote computers."

It should read:

"NetworkService A service account that is capable of authenticating to remote computers."

Page 1012: The Pen glossary entry is not identified as such

On page 1012, the entry after "partially trusted code" reads:

"Located in the System.Drawing namespace, this class is used to specify the color and width of drawings."

It should read:

"Pen Located in the System.Drawing namespace, this class is used to specify the color and width of drawings."

Page 1013: The SoapFormatter glossary entry is not identified as such

On page 1013, the second-to-last entry on the page reads:

"Located in the System.Runtime.Serialization.Formatters.Soap namespace, this XMLbased formatter is the most reliable way to serialize objects that will be transmitted across a network or read by non–.NET Framework applications. SoapFormatter is more likely to successfully traverse firewalls than BinaryFormatter."

It should read:

"SoapFormatter Located in the System.Runtime.Serialization.Formatters.Soap namespace, this XMLbased formatter is the most reliable way to serialize objects that will be transmitted across a network or read by non–.NET Framework applications. SoapFormatter is more likely to successfully traverse firewalls than BinaryFormatter."

Page 1014: The StackTrace glossary entry is not identified as such

On page 1014, the second entry ont he page reads:

"An ordered collection of one or more StackFrame objects."

It should read:

"StackTrace An ordered collection of one or more StackFrame objects."

Microsoft Press is committed to providing informative and accurate books. All comments and corrections listed above are ready for inclusion in future printings of this book. If you have a later printing of this book, it may already contain most or all of the above corrections.

Properties

Article ID: 949734 - Last Review: June 21, 2014 - Revision: 2.0
Keywords: 
KB949734

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com