Errata for Programming .NET Components
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 "Date 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 Note Update
| Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
| Printed |
Page ...
|
|
Anonymous |
|
May 01, 2006 |
| Printed |
Page 220
at the bottom |
or to have a default constructor:
public class MyClass<T> where T : new( )
|
Anonymous |
|
May 01, 2006 |
| Printed |
Page 244
|
Example 8-15 is missing this code:
~WorkerThread()
{
Kill();
}
|
Anonymous |
|
|
| Printed |
Page 246
|
IsAlive should be:
public bool IsAlive
{
get
{
if(m_ThreadHandle.SafeWaitHandle.IsClosed)
{
return false;
}
Debug.Assert(m_ThreadObj != null);
bool handleSignaled = m_ThreadHandle.WaitOne(0,true);
while(handleSignaled && m_ThreadObj.IsAlive)
{
Thread.Sleep(0);
}
return m_ThreadObj.IsAlive;
}
}
|
Anonymous |
|
|
| Printed |
Page 248
|
Remove this text:
However, because Kill() is called on the client thread, the WorkerThread
object must store a Thread object referring to the worker thread as a member
variable. Fortunately, there is already such a member-the m_ThreadObj member
variable. You can only store the thread value in the thread method; you
can't store it in the constructor, which executes on the creating client's
thread. This is exactly what Run() does in this line:
m_ThreadObj = Thread.CurrentThread;
|
Anonymous |
|
|
| Printed |
Page 326
first word in 2nd line in 2nd paragraph |
"assemblyl" NOW READS "assembly"
|
Anonymous |
|
May 01, 2006 |
| Printed |
Page 550
Kinds of Attributes, 1st paragraph |
"These go completely unnoticed by .NET, expect that.."
NOW READS:
"These go completely unnoticed by .NET, **except** that.."
|
Anonymous |
|
May 01, 2006 |
| Printed |
Page 565
1st paragraph |
First sentence NOW READS:
"Note that it is purely for readability purposes that the list uses the same names as
the node for the generic type parameters."
|
Anonymous |
|
May 01, 2006 |
| Printed |
Page 612
under Properties entry |
Entry is
Properties
- interface, 56
- ration of methods to, 76
"ration" should be "ratio"
|
Anonymous |
|
|