The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
Printed |
Page 1
2nd Paragraph,the last two words of this paragraph; |
The text "...you move on toChapter 4."
NOW READS:
"... you move on to Chapter 4."
|
Anonymous |
|
Sep 01, 2004 |
Printed |
Page 2
First paragraph, under the section labelled "Linux" |
The mono homepage HAS CHANGED to http://www.mono-project.com.
|
Anonymous |
|
Sep 01, 2004 |
Printed |
Page 9
|
The screenshot of MonoDevelop shows templates no longer available in
the MonoDevelop application.
|
Anonymous |
|
|
Printed |
Page 22
Say "Hello" to the World, 3rd sentence |
Choosing from among the Choosing from among the panoply of Mono IDEs
and installing your IDE of choice is discussed in Chapter 1.
Should be:
Choosing from among the panoply of Mono IDEs and installing your IDE
of choice is discussed in Chapter 1.
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 24
Example 2-2 |
Before the code listing there is
"Example 2-2 shows Hello.cs with the fully specified Hello.World
namespace [...]"
but the code is missing the following:
namespace Hello.World {
[...]
}
|
Anonymous |
|
|
Printed |
Page 25
Example after 1st paragraph |
The first part of the example is missing a closing brace.
namespace OReilly {
namespace DevelopersNotebook {
public class HelloWorld {
...
}
}
should have an extra } at the end:
namespace OReilly {
namespace DevelopersNotebook {
public class HelloWorld {
...
}
}
}
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 32
in the source code of about boxing is a copying operation |
In the code comments, it says that j is a copy of of i, yet it looks like j is a copy
of o.
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 35
Last Paragraph |
"You instantiate an exception just you would..."
should be:
"You instantiate an exception just as you would..."
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 39
1st paragraph |
There is no while loop in the code shown on page 37.
Note from the Author or Editor: Page 39, paragraph 1 should read as follows:
Having handled all the events, we set the FileSystemWatcher's EnableRaisingEvents flag to true to start it. The Console.ReadLine() method will wait for the return key to be pressed on the console, allowing the program to handle events as they happen.
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 40
First paragraph |
The text states that XmlSerializer uses the SerializableAttribute at determine how to
serialize an object to XML. This is incorrect. The last sentence of the paragraph
should read:
Instead, the serialization formatters in System.Runtime.Serialization use reflection
to look inside a serializable class and determine how to serialize it.
Also, on page 39, the second sentence of the last paragraph should be changed to the
following:
System.SerializableAttribute is one attribute that shows up quite often; it's used to
mark a class which can be serialized, which is necessary for remoting (see "Access
Remote Objects" in Chapter 7).
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 48
2nd paragraph |
"gacutil.exe is the tool responsible for installing assemblies in the GAC.s"
should be:
"gacutil.exe is the tool responsible for installing assemblies in the GAC."
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 48
1st paragraph |
AssemblykeyFile
should read:
AssemblyKeyFile
Note from the Author or Editor: Note: that should be a capital K
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 52
Line 7 of Syscall.cs |
Syscall.chmod(file, (FileMode)0x777);
should be:
Syscall.chmod(file, (FileMode)0x1ff);
lower in the page;
...changes it permissions to 0x777 (rwxrwxrwx), full read....
should be:
...changes it permissions to 0x1ff (0777 octal), full read....
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 59
Program output |
In the program listing of Example 3-5 the lines:
Console.WriteLine(variables.GetType( ));
Console.WriteLine(variableNames.GetType( ));
Those two lines HAVE BEEN DELETED.
|
Anonymous |
|
Sep 01, 2004 |
Printed |
Page 69
Output listening |
According to example 3-9, the following is wrong
"started on" and "at"
it should have been:
"on" and "started at"
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 76
2nd paragraph |
Since writing the book, the name of the NUnit library has changed to
'nunit.framework', not 'NUnit.Framework'.
The new compile line should read:
$ mcs -target:library -r:nunit.framework MathTest.cs
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 76
3rd sidebar |
The sidebar should appear inline in the text, between the last para on p 76 and the first para on p 77.
|
Anonymous |
|
|
Printed |
Page 77
sidebar |
The sidebar should appear inline in the text, before the first para on the page.
|
Anonymous |
|
|
Printed |
Page 96
Last paragraph |
The compiler directive shown as:
mcs Main.cs -pkg:gtk-sharp -resource:monkey.png,monkey.png
should be:
mcs Main.cs -pkg:gtk-sharp -resource:monkey.png,monkey.png
(remove the )
|
Anonymous |
|
Sep 01, 2004 |
Printed |
Page 135
2nd paragraph |
The second occurrence of the exception System.InvalidCastException should actually read GConf.NoSuchKeyException
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 153
first code block |
args.RetVal = (true|false) causes a crash, it should be args.RetVal = (1|0) (using
Mono 1.0.1). Furhtermore, when returning true (1) the link is NOT opened but when
returning false (0).
AUTHOR: This is a bug found in gecko-sharp 0.5 (and maybe earlier versions) and will be fixed sooner
or later to match watch the book says.
|
Anonymous |
|
Sep 01, 2004 |
Printed |
Page 160
Code sample following second paragraph |
The command
"xgettext -o monodn-intl.potMain.cs" is missing a space and should read
"xgettext -o monodn-intl.pot Main.cs"
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 163
Line 1 of Catalog.GetString (String s) |
IntPtr inptr = Marshal.StringToHGloablAuto (s);
should be:
IntPtr inptr = Marshal.StringToHGlobalAuto (s);
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 171
4th para under "How it works" |
The text of the entire paragraph previously appeared in boldface and HAS BEEN REFORMATTED
as plain text.
|
Anonymous |
|
Sep 01, 2004 |
Printed |
Page 178
Just before "Where to learn more" |
"a XmlNode" should be "an XmlNode"
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 192
4th paragraph |
The 3rd paragraph describes "runtime serialization" as a way to serialize an object,
possibly to a binary format, and "XML serialization", as a way to serialize an object
to an arbitrary XML format.
The 4th paragraph says:
"In this lab, we show you how to use runtime serialziation to serialize and object
instance to XML..."
This sentence has two issues:
1: The example uses XML serialization, not runtime serialization. The example uses
System.Xml.Serialization; runtime serialization would use
System.Runtime.Serialization.Formatters.Soap (binary and SOAP being the current
runtime serializers).
2: "...to serialize and object instance..." should to "...to serialize an object
instance...". That is, s/and/an/.
Note from the Author or Editor: On page 192, paragraph 4 should read as follows:
In this lab, we show you how to use XML serialization to serialize an object instance to XML, and to deserialize XML back into an object instance.
|
Anonymous |
|
May 22, 2015 |
Printed |
Page 206
command line input around the middle of the page |
The command line had an extraneous whitespace character after -out:bin/, and NOW READS:
$ mcs -t:library -r:System.Web.Services
-out:bin/DirectoryLister.dll DirectoryLister.cs
|
Anonymous |
|
Sep 01, 2004 |