Muutke küpsiste eelistusi

Programming Microsoft Visual C# 2005 - The Base Class Library [Pehme köide]

  • Formaat: Paperback / softback, 640 pages, kõrgus x laius: 229x187 mm
  • Ilmumisaeg: 12-Apr-2006
  • Kirjastus: Microsoft Press,U.S.
  • ISBN-10: 0735623082
  • ISBN-13: 9780735623088
Teised raamatud teemal:
  • Pehme köide
  • Hind: 47,79 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 640 pages, kõrgus x laius: 229x187 mm
  • Ilmumisaeg: 12-Apr-2006
  • Kirjastus: Microsoft Press,U.S.
  • ISBN-10: 0735623082
  • ISBN-13: 9780735623088
Teised raamatud teemal:
Get the guidance you need to master the intricacies of the .NET Framework base class library using Visual C#and learn best practices for developing robust code efficiently. With hands-on programming instruction, expert insights, and practical examples, professional developers learn how to customize classes and solve sophisticated development problems for any kind of application. Discover how to:







Use generic types defined in the .NET Frameworkor author your ownto solve recurring programming problems Master regular expressions to perform complex text searches and sophisticated input validation Use iterators, anonymous methods, and asynchronous delegates Take code reuse to the next level with reflection Use custom attribute to implement plug-in architectures and n-tier applications Serialize complex objects to file or database fields Address versioning issues with large programs and multiple executables Apply multithreading techniques to help avoid resource-sharing issues Work with unmanaged code and COM components by using Pinvoke and COM Interop





PLUSGet code samples on the Web
Acknowledgments xv
Introduction xvii
.NET Framework Basic Types
1(50)
The System.Object Type
1(6)
Public and Protected Methods
2(2)
Value Types and Reference Types
4(2)
Boxing and Unboxing
6(1)
String Types
7(24)
Properties and Methods
7(7)
The Missing Methods
14(2)
String Optimizations
16(2)
The Culturelnfo Type
18(2)
The Encoding Class
20(1)
Formatting Numeric Values
21(3)
Formatting Date Values
24(3)
The Char Type
27(1)
The StringBuilder Type
27(2)
The SecureString Type
29(2)
Numeric Types
31(7)
Properties and Methods
32(1)
Formatting Numbers
33(1)
Parsing Strings into Numbers
34(1)
The Convert Type
35(2)
Random Number Generator
37(1)
The DateTime Type
38(9)
Adding and Subtracting Dates
39(2)
Formatting Dates
41(1)
Parsing Dates
42(2)
Working with Time Zones
44(2)
The TimeZone Type
46(1)
The Guid Type
46(1)
Enums
47(4)
Displaying and Parsing Enum Values
48(1)
Other Enum Methods
49(1)
Bit-Coded Values
50(1)
Object Lifetime
51(30)
Memory Management in the .NET Framework
51(15)
The Garbage Collection Process
51(1)
The Finalize Method
52(3)
The Dispose Method
55(3)
Combining the Dispose and Finalize Methods
58(2)
A Better Dispose-Finalize Pattern
60(2)
Finalizers in Derived Classes
62(1)
A Simplified Approach to Finalization
63(3)
Advanced Techniques
66(15)
Generations
66(2)
Garbage Collection and Performance
68(5)
Weak Object References
73(2)
Object Resurrection
75(3)
Garbage Collection on Multiple-CPU Computers
78(3)
Interfaces
81(24)
Interfaces and Code Reuse
81(4)
Using .NET Interfaces
85(20)
The IComparable Interface
85(2)
The IComparer Interface
87(3)
The lCloneable Interface
90(2)
The IDisposable Interface
92(2)
Writing Collection Classes
94(6)
Reusable Enumerable Adapters
100(5)
Generics
105(42)
The Need for Generics
106(4)
The Traditional Solution
106(2)
The Generics-Based Solution
108(2)
Authoring Generic Types
110(21)
Generic Parameters
110(13)
Generic Constraints
123(8)
Advanced Topics
131(16)
Nullable Types
131(5)
Support for Math Operators
136(3)
Generics and Events
139(4)
Object Pools
143(4)
Arrays and Collections
147(54)
The Array Type
147(16)
Sorting Elements
149(2)
Clearing, Copying, and Moving Elements
151(4)
Searching Values
155(1)
Jagged Arrays
156(2)
Generic Methods
158(5)
The System.Collections Namespace
163(21)
The ICollection, IList, and IDictionary Interfaces
163(1)
The ArrayList Type
164(4)
The Hashtable Type
168(4)
The SortedList Type
172(3)
Other Collections
175(4)
Abstract Types for Strong-Typed Collections
179(5)
Generic Collections
184(17)
The List Generic Type
185(4)
The Dictionary Generic Type
189(2)
The LinkedList Generic Type
191(3)
Other Generic Collections
194(3)
The System.Generic.ObjectModel Namespace
197(4)
Regular Expressions
201(42)
Regular Expression Overview
202(11)
The Fundamentals
202(2)
The Regular Expression Language
204(6)
Regular Expression Options
210(3)
Regular Expression Types
213(10)
The Regex Type
213(7)
The MatchCollection and Match Types
220(1)
The Group Type
221(1)
The CaptureCollection and Capture Types
222(1)
Regular Expressions at Work
223(20)
Common Regex Patterns
223(3)
Searching for Words and Quoted Strings
226(3)
Validating Strings, Numbers, and Dates
229(2)
Searching for Nested Tags
231(2)
Parsing Data Files
233(2)
Parsing and Evaluating Expressions
235(4)
Playing with Regular Expressions (Literally)
239(4)
Files, Directories, and Streams
243(42)
The Path Type
244(1)
The Directory and File Types
245(6)
Enumerating Directories and Files
245(2)
Manipulating Directories and Files
247(2)
Reading and Writing Files
249(2)
The DirectoryInfo and FileInfo Types
251(2)
The DriveInfo Type
253(1)
The FileSystemWatcher Type
254(6)
Initializing a FileSystemWatcher Component
255(1)
Getting Notifications
256(3)
Troubleshooting
259(1)
Working with Access Control Lists
260(7)
Account Names and Security Identifiers
260(1)
The DirectorySecurity and FileSecurity Types
261(4)
Modifying ACLs
265(2)
The Stream Type
267(7)
Stream Operations
267(2)
Stream Readers and Writers
269(1)
Reading and Writing Text Files
269(4)
Reading and Writing Binary Files
273(1)
Other Stream Types
274(11)
Memory Streams
274(2)
String-Based Streams
276(1)
Network Streams
276(4)
Buffered Streams
280(1)
Compressed Streams
281(4)
Assemblies and Resources
285(50)
Assemblies
285(12)
Private and Shared Assemblies
286(3)
Strong Names
289(3)
Installing in the GAC
292(2)
Assembly-Level Attributes
294(2)
The InternalsVisible To Attribute
296(1)
Strong-Typed Settings
297(7)
The Properties.Settings Object
297(7)
Resources and Satellite Assemblies
304(12)
Strong-Typed Resources
304(3)
Manifest Resources
307(2)
Localized Form Resources
309(3)
Localized Strong-Typed String Resources
312(1)
Custom Resource Files
313(1)
Satellite Assemblies
314(2)
Attributes for Satellite Assemblies
316(1)
The Binding Process
316(12)
Version Policy in Application Configuration Files
317(3)
Previously Loaded Assemblies and GAC Searches
320(1)
Codebase Hints
321(1)
Probing
322(2)
The Assembly Binding Log Viewer Utility (FUSLOGVW)
324(1)
Setting the Runtime Version
325(1)
The .NET Framework Configuration Tool
326(2)
The NGen Tool
328(7)
Using the NGen Tool
329(2)
Using the NGen Service
331(1)
Debugging Native Images
332(1)
Attributes for NGen
333(2)
Reflection
335(66)
Working with Assemblies and Modules
336(8)
The Assembly Type
336(6)
The AssemblyName Type
342(1)
The Module Type
343(1)
Working with Types
344(27)
Retrieving a Type Object
344(7)
Exploring Type Members
351(7)
Reflecting on Generics
358(6)
Reflecting on Attributes
364(5)
Creating a Custom Object Browser
369(2)
Reflection at Run Time
371(30)
Creating an Object Dynamically
371(2)
Accessing Members
373(1)
The InvokeMember Method
374(1)
The StackTrace Object
375(4)
Creating a Universal Comparer
379(3)
Dynamic Registration of Event Handlers
382(6)
Scheduling a Sequence of Actions
388(5)
On-the-Fly Compilation
393(3)
Performance Considerations
396(1)
Security Issues
397(4)
Custom Attributes
401(52)
Introducing Custom Attributes
402(5)
Building a Custom Attribute Class
402(3)
Reflecting on a Custom Attribute
405(2)
A Custom Attribute for CSV Serialization
407(7)
Building a Benchmark Tool
414(4)
Writing Plug-ins for Windows Forms Applications
418(12)
The PluginLibrary Project
418(5)
The MainApplication and MainApplicationStartup Projects
423(3)
The SamplePlugin Project
426(4)
A Framework for n-Tiered Applications
430(23)
The DataObjectLibrary Project
431(7)
The DataSets Project
438(3)
The DemoClient Project
441(2)
The DataObjects Project
443(10)
Threads
453(58)
Threading Fundamentals
453(15)
When to Use Threads
454(1)
Creating Threads
454(2)
Passing Data to and from a Thread
456(2)
Working with Threads
458(2)
Thread Properties
460(2)
Storing and Sharing Data
462(2)
Threads and Unhandled Exceptions
464(1)
Debugging Threads
465(3)
Thread Synchronization
468(21)
The lock Statement
468(5)
Synchronized Objects
473(2)
Volatile Read and Write Operations
475(2)
The Monitor Type
477(1)
The Mutex Type
478(4)
The Semaphore Type
482(1)
The ReaderWriterLock Type
483(2)
The Interlocked Type
485(1)
The ManualResetEvent, AutoResetEvent, and EventWaitHandle Types
486(3)
Using the Thread Pool
489(3)
The ThreadPool Type
489(1)
The Timer Type
490(2)
Asynchronous Operations
492(9)
Asynchronous Delegates
492(5)
Asynchronous File Operations
497(2)
Adding Asynchronous Support to Your Types
499(2)
Threading in Windows Forms Applications
501(10)
The ISynchronizelnvoke Interface
501(3)
The BackgroundWorker Component
504(7)
Object Serialization
511(36)
Basic Serialization
511(12)
Binary Serialization
512(2)
SOAP Serialization
514(1)
Creating Serializable Types
515(2)
Object Graphs
517(1)
Serialization and Events
518(2)
Deep Object Cloning
520(1)
Version-Tolerant Serialization (VTS)
521(2)
Custom Serialization
523(24)
The IDeserializationCallback Interface
524(1)
The ISerializable Interface
525(7)
Serialization and Deserialization Events
532(2)
The IObjectReference Interface
534(3)
The ISerializationSurrogate Interface
537(3)
Inheriting from a Nonserializable Type
540(7)
Plnvoke and COM Interop
547(40)
Using Plnvoke
548(17)
The Dlllmport Attribute
548(2)
Marshaling Data
550(1)
The MarshalAs Attribute
551(3)
The StructLayout Attribute
554(1)
The FieldOffset Attribute
555(4)
Delegates and Callback Procedures
559(1)
The In and Out Attributes
560(2)
The Marshal Class
562(3)
Calling COM Components from .NET
565(11)
The Runtime Callable Wrapper
565(2)
Importing a COM Component with Visual Studio
567(1)
Using the Imported Interop Assembly
568(1)
Importing a COM Component with Tlblmp
569(1)
Primary Interop Assemblies
570(1)
Registration-Free COM Components
571(1)
Late Binding and Reflection
572(1)
COM Interop Marshaling
573(2)
Threading Issues
575(1)
Calling .NET Objects from COM
576(11)
The COM Callable Wrapper
576(1)
Creating a Sample .NET Component
577(1)
The RegAsm and TlbExp Tools
578(1)
Conversion Details
579(2)
Using Attributes to Control the Conversion
581(4)
Working with Exceptions
585(1)
Writing COM-Friendly .NET Framework Components
585(2)
Index 587


Francesco Balena is a well-known and highly regarded developer and author. He has written numerous Microsoft Press books, including the widely acclaimed Programming Microsoft Visual Basic titles, and edits a popular Web site on .NET programming. Francesco is a cofounder of Code Architects srl, an Italian software company that specializes in using Microsoft technologies to create enterprise-level solutions and programming tools. In addition, he is a regional director for MSDN Italy, and a frequent speaker at developer conferences.