Errata


Print Print Icon

Submit your own errata for this product.


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 "Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By 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 2004
Printed Page 2
First paragraph, under the section labelled "Linux"

The mono homepage HAS CHANGED to http://www.mono-project.com.

Anonymous  Sep 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 
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 
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 
Printed Page 35
Last Paragraph

"You instantiate an exception just you would..."
should be:
"You instantiate an exception just as you would..."

Anonymous 
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 
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 
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 
Printed Page 48
1st paragraph

AssemblykeyFile
should read:
AssemblyKeyFile

Note from the Author or Editor:
Note: that should be a capital K

Anonymous 
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 
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 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 
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 
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 
Printed Page 135
2nd paragraph

The second occurrence of the exception System.InvalidCastException should actually read GConf.NoSuchKeyException

Anonymous 
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 
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 
Printed Page 163
Line 1 of Catalog.GetString (String s)

IntPtr inptr = Marshal.StringToHGloablAuto (s);
should be:
IntPtr inptr = Marshal.StringToHGlobalAuto (s);

Anonymous 
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 2004
Printed Page 178
Just before "Where to learn more"

"a XmlNode" should be "an XmlNode"

Anonymous 
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 
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 2004