Makale numarası: 935218 - Son Gözden Geçirme: 04 Ekim 2007 Perşembe - Gözden geçirme: 2.8

MCTS Self-Paced eğitim seti (EXAM 70-536): Microsoft ® .NET Framework 2.0 — Application Development Foundation açıklamaları ve düzeltmeleri bölüm 2

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, açıklamaları ve düzeltmeleri için Microsoft Press kitabı ilgili bilinen hatalar hakkında bilgi içeren MCTS Self-Paced Training Seti'ni (EXAM 70-536): Microsoft ® .NET Framework 2.0 — Application Development Foundation, 0-7356-2277-9.Bu defter için ek düzeltmeler, makale 923018 (http://support.microsoft.com/kb/923018/) 949730 (http://support.microsoft.com/kb/949730/) ve 949734 (http://support.microsoft.com/kb/949734/) içinde kullanılabilir.

Aşağıdaki konuları kapsar:

  • Sayfa 200: 2 soruya yanıt B imprecise
  • Sayfa 204: Yanlış örnek kod açıklaması
  • Sayfa 209: DictionaryEntry DictionaryEntries başvurulan
  • Sayfa 210: Köşeli ayraç yanlış VB kod örneğinde kullanılan.
  • Sayfa 213: sınıf desteklemek için kullanılan yanlış yöntemi
  • Sayfa 213: Değerler özellik <a2>Value</a2> özelliği başvuru
  • Sayfa 214: Açıklama eksik kod örneği
  • Sayfa 215: Kod örnek bir sözdizim hatası içeriyor.
  • Sayfa 216: Yanlış Hashtable işlevlerinin açıklaması
  • Sayfa 227: BitArray örnekte kullanılan yanlış VB kodu
  • Sayfa 228: BitArray örnekte kullanılan yanlış C# kodu
  • Sayfa 228: Dört bit yerine üç bit başvuruyor.
  • Sayfa 230: Bit bayt olarak başvurulan
  • Sayfa 230: İmzalanmamış imzalanması gerekir
  • Sayfa 232: 196634 98314 olmalıdır ve 00000000000000011000000000001010 00000000000000110000000000011010 olmalıdır
  • Sayfa 234: CollectionsUtil CollectionUtil başvurulan
  • Sayfa 235: CollectionsUtil CollectionUtil başvurulan
  • Sayfa 235: VB ve C# kod örneğinde kullanılan hatalı dize
  • Sayfa 237: "++ x"olmalıdır"x ++"
  • Sayfa 238: Adım 3'te ListCollection sınıf adı, hatalı kullanımı
  • Sayfa 239: CollectionsUtil CollectionUtil başvurulan
  • Sayfa 246: KeyValuePair NameValuePair başvurulan
  • Sayfa 249: Sınıf nesnesi olarak başvurulan
  • Sayfa 249: AddressOf ReverseIntComparison ReverseIntComparison olmalıdır.
  • Sayfa 250: Sözlük bir sıra başvurulan
  • Sayfa 250: İlk satırı VB kodu örnek yanlış
  • Sayfa 254: KeyValuePair NameValuePair başvurulan
  • Sayfa 258: ReadOnlyCollectionBase sınıfı ReadOnlyCollection temel olarak başvurulan
  • Sayfa 259: Terimi "durum"arama kodlarını yerine"kullanılan kısaltmaları"
  • Sayfa 263: Durum senaryosu 1, <a1>Soru</a1> 2 yanlış metni
  • Sayfalar, 280 281: "XML" "SOAP yerine" kullanılır.
  • Sayfa 286: SoapFormatter eksik.
  • Sayfa 287: seri hale getirilmiş kullanılıyor yerine serisi
  • Sayfa 292: örnek kod satırında miktar eksik
  • Sayfa 301: Xml XML olmalıdır.
  • Sayfa 305: OnDeserializing OnDeserialized olmalıdır.
  • Sayfa 306: OnDeserialized OnDeserializing olmalıdır.
  • Sayfa 343: Yeni bir bit eşlem Image.FromFile shoudl olabilir.
  • Sayfa 370: ThreadState.WaitJoinSleep ThreadState.WaitSleepJoin yerine başvuruyor.
  • Sayfa 373: değer yerine, başvurulan iş
  • Yöntem adı ve çıktı sayfa 373: Düzeltme tümce
  • Sayfa 377: ThreadStart temsilci StartThread başvuruyor.
  • Sayfa 378: Kod örneğinde eksik satır sonu
  • Sayfa 378: C# kodu örnek ifade yanlış kod
  • Sayfa 380: etki alanı yerine durumu başvurulan
  • Sayfayı 383: ifade deyimi kullanmak yerine, başvurulan Ekle
  • Sayfa 383: StartThread ThreadStart yerine başvuruyor.
  • Sayfa 387: Interlocked sınıfı yerine başvurulan kilitleme sınıfı
  • Sayfa 389: Bellekten okuma için belleğe okuma olarak adlandırılır
  • Sayfa 390: UpdateCount yöntemi yerine başvurulan AddCount yöntemi
  • Sayfası 394: C# örnek kod yanlış
  • Sayfa 396: kod örneğinde gerekli Thread.Sleep yöntemi
  • Sayfa 397: AddressOf ' kod örneği eksik.
  • Sayfa 407: EventWaitHandles EventWaitHandle yerine başvuruyor.
  • Sayfa 410: Interlocked sınıfı yerine başvurulan kilitleme sınıfı
  • Sayfa 414: Okunan bayt yerine başvurulan bayt yazılan
  • Sayfa 415: gerekli strm.Read yöntemi
  • Sayfa 417: AddressOf ' kod örneği eksik.
  • Sayfa 419: olay sınıfı yerine başvuruyor.
  • Sayfa 421: QueueWorkItem QueueUserWorkItem yerine başvuruyor.
  • Sayfa 421: kod örneğinde dahil fazla sağ ayraç
  • Sayfa 424: RegisterWaitHandle RegisterWaitForSingleObject yerine başvuruyor.
  • Sayfa 429: misrepresented iş parçacığı yürütme davranışı
  • Sayfa 432: durum senaryosu konuları misrepresented
  • Sayfa 438: ASP.NET alt işlemin hatalı açıklaması
  • Sayfa 454: Gereksiz bir kod satırı VB ve C# kod örnekleri içerir.
  • Sayfa 456: D Soru 3'ün kısmen yanlış yanıtlar.
  • Tablo hatalı başlığında sayfaları 481 482:
  • Sayfa 483: ConfigurationManager yapılandırma olmalıdır.
  • Sayfa 490: Yanlış kod örneği

Daha fazla bilgi

Sayfa 200: 2 soruya yanıt B imprecise

200 Sayfada B okuma yanıtlayın:

"Iki nesne başvurusu bir nesnenin aynı olup olmadığını sınamak için <a0></a0>"

Bunu şöyle olmalıdır:

"Iki değişken aynı nesneye başvuran olmadığını sınamak için <a0></a0>"

Sayfa 204: Yanlış örnek kod açıklaması

204 Sayfasında kod örneğini ilk önce son tümceyi okur:

"Sınıfının bir örneği sonra itme yöntemi öğeleri sıra ve öğeleri listeden kaldırmak için Dequeue yöntemi kısa aşağıdaki örnekte gösterildiği gibi eklemek için kullanın:"

Bunu şöyle olmalıdır:

"Sınıfının bir örneği sahip olduğunuzda, itme yöntemi kısa aşağıdaki örnekte gösterildiği gibi yığın ve POP yöntemi yığından, öğeleri kaldırmak için öğeler eklemek için kullandığınız:"

Sayfa 209: DictionaryEntry DictionaryEntries başvurulan

209 Sayfasında dördüncü madde işareti noktası okur:

"DictionaryEntries nasıl biliyor ve sözlükler numaralandırılamıyor."

Bunu şöyle olmalıdır:

"DictionaryEntry nasıl biliyor ve sözlükler numaralandırılamıyor."

Sayfa 210: Köşeli ayraç yanlış VB kod örneğinde kullanılan.

210 Sayfasında VB kod örneği, ikinci paragrafın altında okur:

' VB
Console.WriteLine(emailLookup["sbishop@contoso.com"])

Bunu şöyle olmalıdır:

' VB
Console.WriteLine(emailLookup("sbishop@contoso.com"))


Sayfa 213: sınıf desteklemek için kullanılan yanlış yöntemi

213 Sayfasında, ilk paragrafın altında "Anlama eşitlik" tümce dördüncü okur:

"Bu sınıf, nesnenin benzersiz olarak tanıtan bir tamsay? döndürür GetHash yöntemi destekler."

Bunu şöyle olmalıdır:

"Bu sınıf, nesnenin benzersiz olarak tanıtan bir tamsay? döndürür GetHashCode yöntemi destekler."

Sayfa 213: Değerler özellik <a2>Value</a2> özelliği başvuru

213 Sayfasında son tümceyi okur:

"Value özelliği ile yineleme tarafından bu örnekte görüldüğü gibi bunun yerine, bu değerler üzerinde de yineleme işlemleri:"

Bunu şöyle olmalıdır:

"Bu örnekte görüldüğü gibi bunun yerine, Values özelliği ile yineleme tarafından bu değerler üzerinde de yineleme işlemleri:"

Sayfa 214: Açıklama eksik kod örneği

214 Sayfasında, ikinci örnek kod VB 6. kod satırına açıklama eksik.

Değişikliği:
Console.WriteLine(duplicates.Count)

Için:
Console.WriteLine(duplicates.Count) ' 2

Sayfa 215: Kod örnek bir sözdizim hatası içeriyor.

215 Sayfasında, Hat 2 ikinci VB kod örneği, bir sözdizimi hatası içerir.

Değişikliği:
Dim otherFish as Fish = obj As Fish

Için:
Dim otherFish as Fish = TryCast(obj, Fish)

Sayfa 216: Yanlış Hashtable işlevlerinin açıklaması

216 Sayfasında sayfasında ikinci tümceyi okur:

"Bu durum Hashtable çubuğundaki eşitlik hesaplayan bir sınıf sağlama yeteneği muhasebenin değil."

Bunu şöyle olmalıdır:

"Bu durum, Hashtable çubuğundaki eşitlik hesaplayan bir sınıf kullanma yeteneğini muhasebenin değil."

Sayfa 216: Arabirimleri sınıfları olarak başvurulan

216 Sayfasında birbirine bağlayan cümleler ikinci paragrafın ilk iki okuyun:

"Hashtable sınıfı, bağımsız değişken olarak bir <a1>IEqualityComparer</a1> sınıfının bir örneği kabul edebileceği bir kurucu destekler. Çok IComparer sınıfı derlemeleri sıralamak izin Ders 1'de gösterildiği gibi IEqualityComparer arabirimin iki yöntemi destekler: GetHashCode ve eşittir. "

Bunlar şöyle olmalıdır:

"Hashtable sınıfı, bağımsız değişken olarak IEqualityComparer arabirimin örneği kabul edebileceği bir kurucu destekler. Çok IComparer arabirimi derlemeleri sıralamak izin Ders 1'de gösterildiği gibi IEqualityComparer arabirimin iki yöntemi destekler: GetHashCode ve eşittir. "

Sayfa 227: BitArray örnekte kullanılan yanlış VB kodu

227 Sayfasında, adım 4 VB kodu ikinci bölümü okur:

Dim moreBits As BitArray = New BitArray(3)
bits(0) = True
bits(1) = True
bits(2) = False

Bunu şöyle olmalıdır:

Dim moreBits As BitArray = New BitArray(3)
moreBits(0) = True
moreBits(1) = True
moreBits(2) = False


Sayfa 228: BitArray örnekte kullanılan yanlış C# kodu

<a1>Sayfada</a1> 228: sayfa okuma üstündeki C# kod örneği:

Dim moreBits = New BitArray(3)
bits[0] = True
bits[1] = True
bits[2] = False

Bunu şöyle olmalıdır:

Dim moreBits = New BitArray(3)
moreBits[0] = True
moreBits[1] = True
moreBits[2] = False


Sayfa 228: Dört bit yerine üç bit başvuruyor.

228 Sayfasında, ikinci üçüncü nasıl kullanılacağını paragrafın tümceyi bir BitVector32 Bit maskeleri bölümün okur:

"Bazı 32-bit tamsayı ilk dört bit değerini ayarlamak gerektiğini varsayalım."

Bunu şöyle olmalıdır:

"Üç ilk bit değerinin bazı 32-bit bir tamsayı ayarlamak gerektiğini varsayalım."

Adım 4 bölümün ilk tümceyi okur:

"Dört bit maskeleri erişene kadar 1-3 arasındaki adımları yineleyin."

Bunu şöyle olmalıdır:

"Üç bit maskeleri erişene kadar 1-3 arasındaki adımları yineleyin."

Sayfa 230: Bit bayt olarak başvurulan

230 Sayfasında ikili Math anlama</a0> bölümünde ikinci paragrafın sekizinci tümceyi okur:

"; Bu nedenle, doldurulan tüm 8 bayt işaretsiz bir bayt ise, bu denklemi tarafından gösterilebilen: 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255."

Bunu şöyle olmalıdır:

"; Bu nedenle, doldurulan tüm 8 bitlik işaretsiz bir bayt ise, bu denklemi tarafından gösterilebilen: 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255."

Sayfa 230: İmzalanmamış imzalanması gerekir

230 Sayfasında, son paragraf ikili Math anlama</a0> bölümünde, dördüncü tümceyi bir imzalı tamsayı yerine işaretsiz bir tamsayı başvuruyor.

Değiştir:
"Daha fazla konu complicating son basamağını negatif imzalanmış 32 bitlik bir tamsayı aralığı ile ilgilenir, gerçekte –(2^31), dolayısıyla, BitVector32, gerçekte işaretsiz bir tamsayı ile çalışan gerçeğini değil."

Kime:
"Daha fazla konu complicating son basamağını negatif imzalanmış 32 bitlik bir tamsayı aralığı ile ilgilenir, gerçekte –(2^31), dolayısıyla, BitVector32, gerçekte bir işaretli tamsayı çalışan gerçeğini değil."

Sayfa 232: 196634 98314 olmalıdır ve 00000000000000011000000000001010 00000000000000110000000000011010 olmalıdır

232 Sayfasında BitVector32 değişken değeri doğru değil.

Değiştir:
"
' VB
Console.WriteLine(packedBits.Data)
' 98314
Console.WriteLine(packedBits)
' BitVector32{00000000000000011000000000001010}
// C#
Console.WriteLine(packedBits.Data);
// 98314
Console.WriteLine(packedBits);
// BitVector32{00000000000000011000000000001010}

Matematik, 98314 sayı, 10 ve 1 192 saklayabilir, ancak BitVector32 bunu sizin için çok daha az iş yapabilirsiniz belirlemek için bunu."

Kime:
"
' VB
Console.WriteLine(packedBits.Data)
' 196634

Console.WriteLine(packedBits)
' BitVector32{00000000000000110000000000011010}

// C#
Console.WriteLine(packedBits.Data);
// 196634

Console.WriteLine(packedBits);
// BitVector32{00000000000000110000000000011010}

Matematik, 196634 sayı, 10 ve 1 192 saklayabilir, ancak BitVector32 bunu sizin için çok daha az iş yapabilirsiniz belirlemek için bunu."

Sayfa 234: CollectionsUtil CollectionUtil başvurulan

234 Sayfasında Case-Insensitive derlemeleri bölümünün üçüncü tümceyi okur:

"Gibi yaygın kullanımı bu olduğundan, .NET Framework büyük/küçük harf duyarlı oluşturma Hashtable ve SortedList nesneleri destekleyen bir CollectionUtil sınıf yok."

Bunu şöyle olmalıdır:

"Gibi yaygın kullanımı bu olduğundan, .NET Framework büyük/küçük harf duyarlı oluşturma Hashtable ve SortedList nesneleri destekleyen bir CollectionsUtil sınıf yok."

Sayfa 235: CollectionsUtil CollectionUtil başvurulan

235 Sayfasında, ikinci paragrafın altıncı tümceyi okur:

"Büyük/küçük harf duyarlı topluluklar, CollectionUtil yöntemleri koleksiyonlarınızı oluşturmak için kullanılamaz."

Bunu şöyle olmalıdır:

"Büyük/küçük harf duyarlı topluluklar, CollectionsUtil yöntemleri koleksiyonlarınızı oluşturmak için kullanılamaz."

Sayfa 235: VB ve C# kod örneğinde kullanılan hatalı dize

235 Sayfasında VB ve C# kod örneği, okur:

' VB
Dim hash As Hashtable = New Hashtable( _
StringComparer.InvariantCulture)
Dim list As SortedList = New SortedList( _
StringComparer.InvariantCulture)

// C#
Hashtable hash = new Hashtable(
StringComparer.InvariantCulture);
SortedList list = new SortedList(
StringComparer.InvariantCulture);

Bunu şöyle olmalıdır:

' VB
Dim hash As Hashtable = New Hashtable( _
StringComparer.InvariantCulture)
Dim list As SortedList = New SortedList( _
StringComparer.InvariantCultureIgnoreCase)

// C#
Hashtable hash = new Hashtable(
StringComparer.InvariantCulture);
SortedList list = new SortedList(
StringComparer.InvariantCultureIgnoreCase);


Sayfa 237: "++ x"olmalıdır"x ++"

237 Sayfasında son C# kod örneği beşinci satırı yanlıştır.

Değişikliği:
for (int x = 0; x < nv.Count; ++x)

Için:
for (int x = 0; x < nv.Count; x++)

Sayfa 238: Adım 3'te ListCollection sınıf adı, hatalı kullanımı

238 Sayfasında, adım 3 okur:

"Projeyi ana yönteminde, yeni bir örneğini ListCollection sınıfı, büyük/küçük harf duyarlı belirtme ve kültür sabit oluşturun."

Bunu şöyle olmalıdır:

"Projeyi ana yönteminde, yeni bir örneğini ListDictionary sınıfı, büyük/küçük harf duyarlı belirtme ve kültür sabit oluşturun."

Sayfa 239: CollectionsUtil CollectionUtil başvurulan

239 Sayfasında üçüncü madde işareti noktası okur:

"Büyük/küçük harf duyarlı olmayan sürümleri Hashtable ve SortedList nesnelerin CollectionUtil sınıfını kullanarak oluşturabilirsiniz."

Bunu şöyle olmalıdır:

"Büyük/küçük harf duyarlı olmayan sürümleri Hashtable ve SortedList nesnelerin CollectionsUtil sınıfını kullanarak oluşturabilirsiniz."

Sayfa 246: KeyValuePair NameValuePair başvurulan

246 Sayfasında en son giriş sayfasında Tablo 4-20 okur:

"DictionaryEntry NameValuePair <>"

Bunu şöyle olmalıdır:

"DictionaryEntry KeyValuePair <>"

Sayfa 249: Sınıf nesnesi olarak başvurulan

Sayfada, 249 tümcedeki ilk kodundan sonra örnek okur:

"Bu yaklaşım ender kullanılan karşılaştırmalar için tam bir karşılaştırma nesne yazma daha çok daha kolay olur."

Bunu şöyle olmalıdır:

"Bu yaklaşım ender kullanılan karşılaştırmalar için tam bir karşılaştırma sınıfı yazma daha çok daha kolay olur."

Sayfa 249: AddressOf ReverseIntComparison ReverseIntComparison olmalıdır.

Ilk VB kod örneğini 249 sayfasında yanlıştır.

Değişikliği:
' VB
intList.Sort(ReverseIntComparison)

Için:
' VB
intList.Sort(AddressOf ReverseIntComparison)


Sayfa 250: Sözlük bir sıra başvurulan

250. Sayfada <a0>Genel sözlük sınıfı</a0> bölümünün dördüncü tümceyi okur:

"Genel bir sıra türü kullanmak için aşağıdaki adımları izleyebilirsiniz:"

Bunu şöyle olmalıdır:

"Genel bir sözlük türü kullanmak için aşağıdaki adımları izleyebilirsiniz:"

Sayfa 250: İlk satırı VB kodu örnek yanlış

250. Sayfada, VB) kod örneğini ilk satırını okur:

Dictionary(Of Integer, String) dict = new Dictionary(Of Integer, String)() 
dict(3) = "Three" 
dict(4) = "Four" 
dict(1) = "One" 
dict(2) = "Two" 
Dim str as String = dict(3)

Bunu şöyle olmalıdır:

Dim dict = New Dictionary(Of Integer, String)() 
dict(3) = "Three" 
dict(4) = "Four" 
dict(1) = "One" 
dict(2) = "Two" 
Dim str As String = dict(3)


Sayfa 254: KeyValuePair NameValuePair başvurulan

254 Sayfasında Tablo 4-23 aşağıdaki paragrafın ikinci tümceyi okur:

"Bu genel sözlük türü, burada bu numaralayıcı genel NameValuePair nesne döndürür davranıştır."

Bunu şöyle olmalıdır:

"Bu genel sözlük türü, burada bu numaralayıcı genel KeyValuePair nesne döndürür davranıştır."

Sayfa 258: ReadOnlyCollectionBase sınıfı ReadOnlyCollection temel olarak başvurulan

258 Sayfasında yazı bilgisayarınızı kendi derlemeleri bölümünde beşinci paragrafın ilk tümceyi okur:

"The DictionaryBase CollectionBase ve ReadOnlyCollection temel sınıfları farklı olarak, ıcollection ıdictionary ve ıenumerable arabirimi kullanır."

Bunu şöyle olmalıdır:

"The DictionaryBase CollectionBase ve ReadOnlyCollectionBase sınıfların ıcollection ıdictionary ve ıenumerable arabirimi kullanır."

Sayfa 259: Terimi "durum"arama kodlarını yerine"kullanılan kısaltmaları"

259 Sayfasında Alıştırmayı 1 ilk tümceyi okur:

"Bu alıştırmada, durumu kısaltmaları ile tam adlarını tutmak için genel bir sözlük oluştur."

Bunu şöyle olmalıdır:

"Bu alıştırmada, tam adlarını arama kodlarıyla tutmak için genel bir sözlük oluştur."

Sayfalar, 280 281: "XML" "SOAP yerine" kullanılır.

Sayfalarında 280 ve 281 Tablo 5-1'in başlığını okur:

"XML Serialization öznitelikleri"

Bunu şöyle olmalıdır:

"SOAP seri hale getirme öznitelikleri"

Sayfa 286: SoapFormatter eksik.

Sayfa 286, soru 1 için A yanıt SoapFormatter başvuru atlar.

Değiştir:
"A. bir BinaryFormatter instance"

Kime:
"A. bir örneğini BinaryFormatter veya SoapFormatter"

Sayfa 287: seri hale getirilmiş kullanılıyor yerine serisi

287 Sayfasında soru 4 okur:

"Aşağıdaki arabirimleri, siz bir yöntemi kullanarak bir sınıfın örneğini seri hale getirilmiş sonra çalıştırılacak sağlamak üzere uygulamak?"

Bunu şöyle olmalıdır:

"Aşağıdaki arabirimleri olan, bir yöntem kullanarak bir sınıfın örneğini serisi sonra çalıştırılacak sağlamak üzere uygulamak?"

Sayfa 292: örnek kod satırında miktar eksik

292 Sayfasında, sayfanın ortasına bir sınıf seri hale getirilirken örnek kodunu okur:

<?xml version="1.0" ?>
<ShoppingCartItem>
  <productId>100</productId>
  <price>10.25</price>
  <total>20.50</total>
</ShoppingCartItem>

Bunu şöyle olmalıdır:

<?xml version="1.0" ?>
<ShoppingCartItem>
  <productId>100</productId>
  <price>10.25</price>
  <total>20.50</total>
  <quantity>2</quantity>
</ShoppingCartItem>


Sayfa 301: Xml XML olmalıdır.

301 Sayfasında, XML yerine XML altı gözden geçirme soru yanıtlar kullanın.

<a1>Soru</a1> 2'için yanıtlarında değiştirin:
"B XMLType
C. XMLElement
D. XMLAttribute"

Kime:
"B XmlType
C. XmlElement
D. XmlAttribute"

Soruya 4 yanıtlarında değiştirin:
"A. XMLType
B. XMLIgnore
C. XMLElement
D. XMLAttribute"

Kime:
"A. XmlType
B. Xmlıgnore
C. XmlElement
D. XmlAttribute"

Sayfa 305: OnDeserializing OnDeserialized olmalıdır.

305 Sayfasında son tümceyi OnDeserialized OnDeserializing yerine başvuruyor.

Değiştir:
"Bu olay sırasında çalıştırmalısınız yöntemine OnDeserialized özniteliği uygulanır."

Kime:
"Bu olay sırasında çalıştırmalısınız yöntemine OnDeserializing özniteliği uygulanır."

Sayfa 306: OnDeserialized OnDeserializing olmalıdır.

306 Sayfasında, OnDeserialized yerine OnDeserializing Deserialized bölümünün son tümceyi başvuruyor.

Değiştir:
"Bu olay sırasında çalıştırmalısınız yöntemine OnDeserializing özniteliği uygulanır."

Kime:
"Bu olay sırasında çalıştırmalısınız yöntemine OnDeserialized özniteliği uygulanır."

Sayfa 343: Yeni bir bit eşlem Image.FromFile shoudl olabilir.

Ikinci VB kod örneği, 343 sayfasında, yeni bir bit eşlem yerine Image.FromFile kullanır.

Değiştir:
"Bit eşlem olarak B dim Image.FromFile ("C:\windows\gone fishing.bmp") ="

Kime:
"Bit eşlem olarak B dim yeni bit eşlem ("C:\windows\gone fishing.bmp") ="

Sayfa 370: ThreadState.WaitJoinSleep ThreadState.WaitSleepJoin yerine başvuruyor.

370 Sayfasında, <a1>kesme</a1> Tablo 7-2 açıklamasını okur:

"Engellenmiş durumda (ThreadState.WaitJoinSleep) bir iş parçacığı, bir ThreadInterruptedException yükseltir. Iş parçacığının hiçbir zaman engellerse, kesinti hiç olmaz."

Bunu şöyle olmalıdır:

"Engellenmiş durumda (ThreadState.WaitSleepJoin) bir iş parçacığı, bir ThreadInterruptedException yükseltir. Iş parçacığının hiçbir zaman engellerse, kesinti hiç olmaz."

Sayfa 373: değer yerine, başvurulan iş

373 Sayfasında, ilk paragrafın son tümceyi okur:

"Daha sonra üzerinde bu iş parçacığının hangi iş hangi iş parçacığı üzerinde yapılır görmek için çaba göstereceğiz."

Bunu şöyle olmalıdır:

"Daha sonra üzerinde bu değer hangi iş hangi iş parçacığı üzerinde yapılır görmek için çaba göstereceğiz."

Yöntem adı ve çıktı sayfa 373: Düzeltme tümce

373 Sayfasında, paragrafın ilk kümesi kod örnekleri aşağıdaki birinci ve ikinci tümceyi okur:

"Start yöntemi ça?r?ld???nda SomeWork yöntemi olarak adlandırılan yeni bir iş parçacığı ve yöntem tamamlanıncaya kadar iş parçacığının yürütür. Bu örnekte, bizim SimpleWork yöntemi "In thread" tümceciğini yazar ve ManagedThreadId özelliği gösterir."

Bunu şöyle olmalıdır:

"Start yöntemi ça?r?ld???nda SimpleWork yöntemi olarak adlandırılan yeni bir iş parçacığı ve yöntem tamamlanıncaya kadar iş parçacığının yürütür. Bu örnekte, bizim SimpleWork yöntemi "# thread" tümceciğini yazar ve ManagedThreadId özelliği gösterir."

Sayfa 377: ThreadStart temsilci StartThread başvuruyor.

377 Sayfasında, iş parçacığı bölümüne gönderme verilerin bir ilk üç cümle okuyun:

"Her önceki örnekler size hiçbir parametre StartThread temsilci, kullanmakta olduğunuz. Iş parçacığı, çoğu gerçek kullanmak üzere, tek tek iş parçacığı için bilgi aktarmak gerekir. Bunu yapmak için ParameterizedStartThread adlı yeni bir temsilci kullanmanız gerekebilir."

Bunlar şöyle olmalıdır:

"Her önceki örnekler size hiçbir parametre ThreadStart temsilci, kullanmakta olduğunuz. Iş parçacığı, çoğu gerçek kullanmak üzere, tek tek iş parçacığı için bilgi aktarmak gerekir. Bunu yapmak için ParameterizedThreadStart adlı yeni bir temsilci kullanmanız gerekebilir."

Sayfa 378: Kod örneğinde eksik satır sonu

378 Sayfasında kod örneğini ilk satırını okur:

' VB ParameterizedThreadStart operation = _

Bunu şöyle olmalıdır:

' VB 
ParameterizedThreadStart operation = _


Sayfa 378: C# kodu örnek ifade yanlış kod

378 Sayfasında, C# kod örneğini okur:

string info = o as string;
if (info == null)
{
throw InvalidProgramException("Parameter for thread must be a string");
}

Bunu şöyle olmalıdır:

string info = o as string;
if (info == null)
{
throw new InvalidProgramException("Parameter for thread must be a string");
}


Sayfa 380: etki alanı yerine durumu başvurulan

380 Sayfada ilk sayfadaki tümceyi okur:

", Nesneleri veya uygulama etki alanı için tutarsız bir etki alanında bırakarak bu sorunu çözmek için <a0></a0>, iş parçacığı sınıfı önemli iki yöntem vardır: BeginCriticalRegion ve EndCriticalRegion."

Bunu şöyle olmalıdır:

", Nesne veya uygulama etki alanı için tutarsız bir durumda bırakarak bu sorunu çözmek için <a0></a0>, iş parçacığı sınıfı önemli iki yöntem vardır: BeginCriticalRegion ve EndCriticalRegion."

Sayfayı 383: ifade deyimi kullanmak yerine, başvurulan Ekle

383 Sayfasında, adım 3 okur:

"Yeni sınıfta, bir SQL ekleme deyimi (veya Visual Basic ımports deyimi) System.Threading ad alanına ekleyin."

Bunu şöyle olmalıdır:

"Kullanarak bir sınıfın yeni ekleme deyimi (veya Visual Basic ımports deyimi) System.Threading</a1> ad."

Sayfa 383: StartThread ThreadStart yerine başvuruyor.

383 Sayfasında adım 7 okur:

"Main yöntemi için dönün ve sayım yöntemine gösteren yeni bir StartThread temsilci oluşturun."

Bunu şöyle olmalıdır:

"Main yöntemi için dönün ve sayım yöntemine gösteren yeni bir ThreadStart temsilci oluşturun."

Sayfa 387: Interlocked sınıfı yerine başvurulan kilitleme sınıfı

387 Sayfada ilk madde işareti noktasını okur:

"Kilitleme sınıfı atomik işlem gerçekleştirmek için kullanın."

Bunu şöyle olmalıdır:

"Interlocked sınıfı atomik işlem gerçekleştirmek için kullanın."

Sayfa 389: Bellekten okuma için belleğe okuma olarak adlandırılır

389 Sayfasında, ikinci bir tümce, paragraf kutuyu Şekil 7-2 okur:

"Şekil 7-2'de gösterildiği gibi iki iş parçacığı belleğe değerleri her okuma ve aynı güncelleştirilmiş değerle güncelleştirmek."

Bunu şöyle olmalıdır:

"Şekil 7-2'de gösterildiği gibi iki iş parçacıklarını her değerleri bellekten okuma ve aynı güncelleştirilmiş değeri ile aynı anda güncelleştirmek."

Sayfa 390: UpdateCount yöntemi yerine başvurulan AddCount yöntemi

390 Sayfasında Tablo 7-7 sonra ilk tümceyi okur:

"Interlocked sınıfı iş parçacığı sorunu çözmek için bizim AddCount yöntemini değiştirmek için aşağıdaki gibi:"

Bunu şöyle olmalıdır:

"Interlocked sınıfı iş parçacığı sorunu çözmek için bizim UpdateCount yöntemini değiştirmek için aşağıdaki gibi:"

Sayfası 394: C# örnek kod yanlış

C# kod örneği, yanlış 394 sayfasında kilitler, özel olması gereken yerde ortak örneğinde de yanlış işleç _evenCount değişken olarak kullanır.

Değişikliği:
// C#
public void UpdateCount()
{
     lock (this)
     {
          _count = _count + 1;
          if (Count % 2 == 0) // An even number
          {
               _evenCount = _evenCount + 1;
          }
     }
}

Için:
//C#
private Object theLock = new Object();

public void UpdateCount()
   {
         lock (theLock)
         {
            _count = _count + 1;
           if (Count % 2 == 0) // An even number
          {
               _evenCount += 1;
          }
     }
}

Sayfa 396: kod örneğinde gerekli Thread.Sleep yöntemi

396 Sayfasında, C# kod örneği, Thread.Sleep yöntemi eksik.

Değişikliği:
class Deadlocker
{
	object ResourceA = new Object();
	object ResourceB = new Object();
	public void First()
	{
		lock (ResourceA)
		{
			lock (ResourceB)
			{
				Console.WriteLine("First");
			}
		}
	}
	public void Second()
	{
		lock (ResourceB)
		{
			lock (ResourceA)
			{
				Console.WriteLine("Second");
			}
		}
	}
}

Için:
class Deadlocker
{
	object ResourceA = new Object();
	object ResourceB = new Object();
	public void First()
	{
		lock (ResourceA)
		{
			//Added sleep to give enough time for B to launch before A finished.  So deadlock works.
			Thread.Sleep(10);
			lock (ResourceB)
			{
				Console.WriteLine("First");
			}
		}
	}
	public void Second()
	{
		lock (ResourceB)
		{
			//Added sleep to give enough time for A to launch before B finished.  So deadlock works.
			Thread.Sleep(10);
			lock (ResourceA)
			{
				Console.WriteLine("Second");
			}
		}
	}
}

Sayfa 397: AddressOf ' kod örneği eksik.

Visual Basic kod örneği üçüncü ve dördüncü satırlarını 397 sayfasında yanlıştır.

Değişikliği:
Dim firstStart As New ThreadStart(deadlock.First)
Dim secondStart As New ThreadStart(deadlock.Second)

Için:
Dim firstStart As New ThreadStart(AddressOf deadlock.First)
Dim secondStart As New ThreadStart(AddressOf deadlock.Second)

Sayfa 407: EventWaitHandles EventWaitHandle yerine başvuruyor.

407 Sayfasında, son paragraf üçüncü tümceyi okur:

"Oluşturmak veya bir adlandırılmış olay açma, yerine AutoResetEvent ve ManualResetEvent sınıfları EventWaitHandles ile ilgilenme gerekecektir."

Bunu şöyle olmalıdır:

"Oluşturmak veya bir adlandırılmış olay açma, yerine AutoResetEvent ve ManualResetEvent sınıfları EventWaitHandle ile ilgilenme gerekecektir."

Sayfa 410: Interlocked sınıfı yerine başvurulan kilitleme sınıfı

410 Sayfada ilk madde işareti noktasını okur:

"Atomik matematik işlemleri gerçekleştirmek için <a0></a0>, kilitleme sınıfını kullanın."

Bunu şöyle olmalıdır:

"Atomik matematik işlemleri gerçekleştirmek için <a0></a0>, Interlocked sınıfını kullanın."

Sayfa 414: Okunan bayt yerine başvurulan bayt yazılan

414 Sayfasında, ilk paragrafın ilk tümceyi okur:

"Farkları yazılan bayt sayısı yerine bir ıasyncresult döndüren ve iki parametre APM desteği için yöntem imzası eklenmesini içerir."

Bunu şöyle olmalıdır:

"Farklar, okunan bayt sayısı yerine bir ıasyncresult döndüren ve iki parametre APM desteği için yöntem imzası eklenmesini içerir."

Ikinci örnek kod aşağıdaki ilk tümceyi okur:

"Işlem sonunda, ıasyncresult nesnesi ile EndRead çağıracak ve yazılan bayt geri gönderir."

Bunu şöyle olmalıdır:

"Operasyonun sonunda ıasyncresult nesnesi ile EndRead çağıracak ve byte okuma döndürecektir."

Sayfa 415: gerekli strm.Read yöntemi

Ilk satırın C# kodu altında örnek 415 sayfasında, "/ / zaman uyumsuz çağrıyı yapmak" açıklama gereklidir.

Aşağıdaki kod satırını kaldırın:
strm.Read(buffer, 0, buffer.Length);

Sayfa 417: AddressOf ' kod örneği eksik.

417 Sayfasında VB kod örneği 10th satırında AddressOf eksik.

Değişikliği:
New AsyncCallBack(CompleteRead), strm)

Kime:
New AsyncCallBack(AddressOf CompleteRead), strm)

Sayfa 419: olay sınıfı yerine başvuruyor.

419 Sayfasında Windows Forms uygulaması özel durum işleme kutusunda üçüncü tümceyi okur:

"Uygulama olay ThreadException olayda kaydederek bunu."

Bunu şöyle olmalıdır:

"Uygulama sınıfı ThreadException olayda kaydederek bunu."

Sayfa 421: QueueWorkItem QueueUserWorkItem yerine başvuruyor.

421 Sayfada ilk sayfadaki tümceyi okur:

"Yeni bir iş parçacığı oluşturma ve bunu denetleme yerine, biz havuzu, QueueWorkItem yöntemini kullanarak, bu işi yapmak için kullanabilirsiniz:"

Bunu şöyle olmalıdır:

"Yeni bir iş parçacığı oluşturma ve bunu denetleme yerine, biz havuzu, QueueUserWorkItem yöntemini kullanarak, bu işi yapmak için kullanabilirsiniz:"

Sayfa 421: kod örneğinde dahil fazla sağ ayraç

421 Sayfasında, ikinci örnek kod okur:

' VB
Dim workItem As New WaitCallback(WorkWithParameter))
If Not ThreadPool.QueueUserWorkItem(workItem,"ThreadPooled") Then
	Console.WriteLine("Could not queue item")
End If

// C#
WaitCallback workItem = new WaitCallback(WorkWithParameter));
if (!ThreadPool.QueueUserWorkItem(workItem, "ThreadPooled"))
{
	Console.WriteLine("Could not queue item");
}

Bunu şöyle olmalıdır:

' VB
Dim workItem As New WaitCallback(WorkWithParameter)
If Not ThreadPool.QueueUserWorkItem(workItem,"ThreadPooled") Then
	Console.WriteLine("Could not queue item")
End If

// C#
WaitCallback workItem = new WaitCallback(WorkWithParameter);
if (!ThreadPool.QueueUserWorkItem(workItem, "ThreadPooled"))
{
	Console.WriteLine("Could not queue item");
}


Sayfa 424: RegisterWaitHandle RegisterWaitForSingleObject yerine başvuruyor.

Okuma 424 sayfasında, havuzu ve WaitHandle üçüncü tümceyi bölümünde:

"Bu ThreadPool.RegisterWaitHandle çağırarak aşağıdaki örnekte gösterildiği gibi yapılır:"

Bunu şöyle olmalıdır:

"Bu ThreadPool.RegisterWaitForSingleObject çağırarak aşağıdaki örnekte gösterildiği gibi yapılır:"

Sayfa 429: misrepresented iş parçacığı yürütme davranışı

429 Sayfasında son tümceyi 8 adımının okur:

"Bazı iş öğeler üzerinde farklı bir iş parçacığı yürütülen unutmayın."

Bunu şöyle olmalıdır:

"Çalışma öğeleri farklı bir iş parçacığı üzerinde yürütülebilecek unutmayın."

Sayfa 432: durum senaryosu konuları misrepresented

432 Sayfasında <a0>Durum senaryosu</a0> bölümünün ilk tümceyi okur:

"Aşağıdaki büyük senaryolarda, ne, uygulama etki alanları ve hizmetlerini nasıl kullanılacağı hakkında öğrenilen uygulanır."

Bunu şöyle olmalıdır:

"Aşağıdaki büyük senaryolarda, ne, bu bölümün konuları öğrendiniz uygulanır."

Sayfa 438: ASP.NET alt işlemin hatalı açıklaması

438 Sayfasında, ilk paragrafın ikinci bir cümlede tutarsızlıkları ASP.NET'te içerir.

Değiştir:
"10 Kişi bir ASP.NET Web sitesi aynı anda ziyaret, ASP.NET'in her kullanıcı için ayrı uygulama etki alanı oluşturur."

Kime:
"Bir ASP.NET alt işlemi olacak her bir web sitesi bir uygulama etki alanı. Kullanıcılar aynı web sitesinin tüm aynı uygulama etki alanı kapsamında çalışır."

Sayfa 454: Gereksiz bir kod satırı VB ve C# kod örnekleri içerir.

454 Sayfasında 2. Adım 3 satırına VB ve C# kod yedek ve kaldırılması gerekir.

VB kodu kaldırın:
Dim safeZone As Zone = New Zone(SecurityZone.Internet)

C# kodu kaldırın:
Zone safeZone = new Zone(SecurityZone.Internet);

Sayfa 456: D Soru 3'ün kısmen yanlış yanıtlar.

456 Sayfasında yanıt D Soru 3'ün okur:

"AppDomainSetup</a0> sınıfının bir örneği oluşturun ve sonra uygulama Bankası özelliğini ayarlayın. AppDomainSetup nesnesi için AppDomain kurucu geçer."

Bunu şöyle olmalıdır:

"AppDomainSetup</a0> sınıfının bir örneği oluşturun ve sonra uygulama Bankası özelliğini ayarlayın."

Tablo hatalı başlığında sayfaları 481 482:

481 Ve 482 sayfalarda Tablo 9-1'in başlığını okur:

"ConfigurationManager özellikleri ve yöntemleri"

Bunu şöyle olmalıdır:

"Yapılandırma özellikleri ve yöntemleri"

Sayfa 483: ConfigurationManager yapılandırma olmalıdır.

483 Sayfasında Tablo 9-2'in yanlış başlıktır.

Değiştir:
"Tablo 9-2 yapılandırma özellikleri ve yöntemleri"

Kime:
"Tablo 9-2 ConfigurationManager özellikleri ve yöntemleri"

Sayfa 490: Yanlış kod örneği

Kodu örnekleri 490 sayfasında yanlıştır.

Değiştir:
'VB
Dim AllAppSettings As NameValueCollection = _
	ConfigurationManager.AppSettings
Dim SettingsEnumerator As IEnumerator = AllAppSettings.Keys.GetEnumerator
Dim Counter As Int32 = 0
While SettingsEnumerator.MoveNext
	Console.WriteLine("Item: {0} Value: {1}", _
	AllAppSettings.Keys(Counter), AllAppSettings(Counter))
End While

// C#
NameValueCollection AllAppSettings =
	ConfigurationManager.AppSettings;
Int32 Counter = 0;
IEnumerator SettingsEnumerator = AllAppSettings.Keys.GetEnumerator();
while (SettingsEnumerator.MoveNext())
	{
	Console.WriteLine("Item: {0} Value: {1}", AllAppSettings.Keys[Counter],
	AllAppSettings[Counter]);
	}

Kime:
'VB
Dim AllAppSettings As NameValueCollection = _
	ConfigurationManager.AppSettings
Dim SettingsEnumerator As IEnumerator = AllAppSettings.Keys.GetEnumerator
Dim Counter As Int32 = 0
While SettingsEnumerator.MoveNext
	Console.WriteLine("Item: {0} Value: {1}", _
	SettingsEnumerator.Current, AllAppSettings(SettingsEnumerator.Current))
End While

// C#
NameValueCollection AllAppSettings =
	ConfigurationManager.AppSettings;
IEnumerator SettingsEnumerator = AllAppSettings.Keys.GetEnumerator();
while (SettingsEnumerator.MoveNext())
	{
	Console.WriteLine("Item: {0}  Value: {1}", SettingsEnumerator.Current, 
	AllAppSettings[(string)SettingsEnumerator.Current]);
	}

Microsoft Press, bilgilendirici ve doğru defterleri sağlamayı amaçlamaktadır. Tüm açıklamalar ve yukarıda listelenen düzeltmeler bu kitap, gelecekteki printings eklenmesi için hazırsınız. Bir sonraki yazdırma, bu kitap, birçok veya tüm düzeltmeler yukarıdaki zaten içerebilir.

Bu makaledeki bilginin uygulandığı durum:
  • MCTS Self-Paced Training Kit (Exam 70-536): Microsoft .NET Framework 2.0 - Application Development Foundation, ISBN 0-7356-2277-9
Anahtar Kelimeler: 
kbmt KB935218 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:935218  (http://support.microsoft.com/kb/935218/en-us/ )