Contents

Demo HTML Page Styled with csharp.css

Demo showing the different types of CSS formatting available with the csharp.css style sheet.

Pro C Sharp 2010

001 Understanding the Previous State of Affairs.html
002 The Net Solution.html
003 Introducing the Building Blocks of the .NET Platform.html
004 Additional NET-Aware Programming Languages.html
005 An Overview of NET Assemblies.html
006 Understanding the Common Type System.html
007 Understanding the Common Language Specification.html
008 Understanding the Common Language Runtime.html
009 The Assembly Namespace Type Distinction.html
010 Exploring an Assembly Using ildasm exe.html
011 Exploring an Assembly Using Reflector.html
012 Deploying the NET Runtime.html
013 The Platform-Independent Nature of NET.html
014 The Role of the NET Framework 4_0 SDK.html
015 Building CSharp Applications Using csc_exe.html
016 Building .NET Applications Using Notepad.html
017 Building .NET Applications Using SharpDevelop.html
018 Building .NET Applications Using Visual CSharp 2010 Express.html
019 Building .NET Applications Using Visual Studio 2010.html
020 The Anatomy of a Simple CSharp Program.html
021 An Interesting Aside Some Additional Members of the System.Environment Class.html
022 The System.Console Class.html
023 System Data Types and CSharp Shorthand Notation.html
024 Working with String Data.html
025 Narrowing and Widening Data Type Conversions.html
026 Understanding Implicitly Typed Local Variables.html
027 CSharp Iteration Constructs.html
028 Decision Constructs and the RelationalEquality Operators.html
029 Methods and Parameter Modifiers.html
030 Understanding CSharp Arrays.html
031 Understanding the Enum Type.html
032 Understanding the Structure Type.html
033 Understanding Value Types and Reference Types.html
034 Understanding CSharp Nullable Types.html
035 Introducing the CSharp Class Type.html
036 Understanding Constructors.html
037 The Role of the this Keyword.html
038 Understanding the static Keyword.html
039 Defining the Pillars of OOP.html
040 CSharp Access Modifiers.html
041 The First Pillar CSharps Encapsulation Services.html
042 Understanding Automatic Properties.html
043 Understanding Object Initializer Syntax.html
044 Working with Constant Field Data.html
045 Understanding Partial Types.html
046 The Basic Mechanics of Inheritance.html
047 Revising Visual Studio Class Diagrams.html
048 The Second Pillar of OOP The Details of Inheritance.html
049 Programming for ContainmentDelegation.html
050 The Third Pillar of OOP CSharps Polymorphic Support.html
051 Understanding Base ClassDerived Class Casting Rules.html
052 The Master Parent Class System.Object.html
053 Ode to Errors, Bugs, and Exceptions.html
054 The Role of .NET Exception Handling.html
055 The Simplest Possible Example.html
056 Configuring the State of an Exception.html
057 System-Level Exceptions (System.SystemException).html
058 Application-Level Exceptions (System.ApplicationException).html
059 Processing Multiple Exceptions.html
060 Who Is Throwing What.html
061 The Result of Unhandled Exceptions.html
062 Debugging Unhandled Exceptions Using Visual Studio.html
063 A Brief Word Regarding Corrupted State Exceptions (CSE).html
064 Classes, Objects, and References.html
065 The Basics of Object Lifetime.html
066 The Role of Application Roots.html
067 Understanding Object Generations.html
068 Concurrent Garbage Collection under .NET 1.0 - 3.5.html
070 The System.GC Type.html
071 Building Finalizable Objects.html
072 Building Disposable Objects.html
073 Building Finalizable and Disposable Types.html
074 Understanding Lazy Object Instantiation.html
075 Understanding Interface Types.html
076 Defining Custom Interfaces.html
077 Implementing an Interface.html
078 Invoking Interface Members at the Object Level.html
079 Interfaces As Parameters.html
080 Interfaces As Return Values.html
081 Arrays of Interface Types.html
082 Implementing Interfaces Using Visual Studio 2010.html
083 Resolving Name Clashes via Explicit Interface Implementation.html
084 Designing Interface Hierarchies.html
085 Building Enumerable Types (IEnumerable and IEnumerator).html
086 Building Cloneable Objects (ICloneable).html
087 Building Comparable Objects (IComparable).html
088 The Issues with Non-Generic Collections.html
089 The Role of Generic Type Parameters.html
090 The System.Collections.Generic Namespace.html
091 Creating Custom Generic Methods.html
092 Creating Custom Generic Structures and Classes.html
093 Constraining Type Parameters.html
094 Understanding the .NET Delegate Type.html
095 Defining a Delegate Type in CSharp.html
096 The System.MulticastDelegate and System.Delegate Base Classes.html
097 The Simplest Possible Delegate Example.html
098 Sending Object State Notifications using Delegates.html
099 Method Group Conversion Syntax.html
100 Understanding Delegate Covariance.html
101 Understanding Generic Delegates.html
102 Understanding CSharp Events.html
103 Understanding CSharp Anonymous Methods.html
104 Understanding Lambda Expressions.html
105 Understanding Indexer Methods.html
106 Understanding Operator Overloading.html
107 Understanding Custom Type Conversions.html
108 Understanding Extension Methods.html
109 Understanding Partial Methods.html
110 Understanding Anonymous Types.html
111 Working with Pointer Types.html
112 LINQ Specific Programming Constructs.html
113 Understanding the Role of LINQ.html
114 Applying LINQ Queries to Primitive Arrays.html
115 Returning the Result of a LINQ Query.html
116 Applying LINQ Queries to Collection Objects.html
117 Investigating the CSharp LINQ Query Operators.html
118 The Internal Representation of LINQ Query Statements.html
119 Defining Custom Namespaces.html
120 The Role of .NET Assemblies.html
121 Understanding the Format of a .NET Assembly.html
122 Building and Consuming a Single-File Assembly.html
123 Building and Consuming a Multifile Assembly.html
124 Understanding Private Assemblies.html
125 Understanding Shared Assemblies.html
126 Consuming a Shared Assembly.html
127 Configuring Shared Assemblies.html
128 Understanding Publisher Policy Assemblies.html
129 Understanding the codeBase Element.html
130 The System.Configuration Namespace.html
131 The Necessity of Type Metadata.html
132 Understanding Reflection.html
133 Building a Custom Metadata Viewer.html
134 Dynamically Loading Assemblies.html
135 Reflecting on Shared Assemblies.html
136 Understanding Late Binding.html
137 Understanding the Role of .NET Attributes.html
138 Building Custom Attributes.html
139 Assembly-Level (and Module-Level) Attributes.html
140 Reflecting on Attributes Using Early Binding.html
141 Reflecting on Attributes Using Late Binding.html
142 Putting Reflection, Late Binding, and Custom Attributes in Perspective.html
143 Building an Extendable Application.html
144 The Role of a Windows Process.html
145 Interacting with Processes Under the .NET Platform.html
146 Understanding .NET Application Domains.html
147 Interacting with the Default Application Domain.html
148 Creating New Application Domains.html
149 Understanding Object Context Boundaries.html
150 Summarizing Processes, AppDomains, and Context.html
151 Reasons for Learning the Grammar of CIL.html
152 Examining CIL Directives, Attributes, and Opcodes.html
153 Pushing and Popping The Stack-Based Nature of CIL.html
154 Understanding Round-Trip Engineering.html
155 Understanding CIL Directives and Attributes.html
156 .NET Base Class Library, C
156 .NET Base Class Library, CSharp, and CIL Data Type Mappings.html
157 Defining Type Members in CIL.html
158 Examining CIL Opcodes.html
159 Building a .NET Assembly with CIL.html
160 Understanding Dynamic Assemblies.html
161 The Role of the CSharp dynamic Keyword.html
162 The Role of the Dynamic Language Runtime (DLR).html
163 Simplifying Late Bound Calls Using Dynamic Types.html
164 Simplifying COM Interoperability using Dynamic Data.html
165 COM Interop using CSharp 4.0 Language Features.html
166 The ProcessAppDomainContextThread Relationship.html
167 A Brief Review of the .NET Delegate.html
168 The Asynchronous Nature of Delegates.html
169 Invoking a Method Asynchronously.html
170 The System.Threading Namespace.html
171 The System.Threading.Thread Class.html
172 Programmatically Creating Secondary Threads.html
173 The Issue of Concurrency.html
174 Programming with Timer Callbacks.html
175 Understanding the CLR ThreadPool.html
176 Parallel Programming under the .NET Platform.html
177 Parallel LINQ Queries (PLINQ).html
178 Exploring the System.IO Namespace.html
179 The Directory(Info) and File(Info) Types.html
180 Working with the DirectoryInfo Type.html
181 Working with the Directory Type.html
182 Working with the DriveInfo Class Type.html
183 Working with the FileInfo Class.html
184 Working with the File Type.html
185 The Abstract Stream Class.html
186 Working with StreamWriters and StreamReaders.html
187 Working with StringWriters and StringReaders.html
188 Working with BinaryWriters and BinaryReaders.html
189 Watching Files Programmatically.html
190 Understanding Object Serialization.html
191 Configuring Objects for Serialization.html
192 Choosing a Serialization Formatter.html
193 Serializing Objects Using the BinaryFormatter.html
194 Serializing Objects Using the SoapFormatter.html
195 Serializing Objects Using the XmlSerializer.html
196 Serializing Collections of Objects.html
197 Customizing the SoapBinary Serialization Process.html
198 A High-Level Definition of ADO.NET.html
199 Understanding ADO.NET Data Providers.html
200 Additional ADO.NET Namespaces.html
201 The Types of the System.Data Namespace.html
202 Abstracting Data Providers Using Interfaces.html
203 Creating the AutoLot Database.html
204 The ADO.NET Data Provider Factory Model.html
205 Understanding the Connected Layer of ADO.NET.html
206 Working with Data Readers.html
207 Building a Reusable Data Access Library.html
208 Creating a Console UI–Based Front End.html
209 Understanding Database Transactions.html
210 Understanding the Disconnected Layer of ADO.NET.html
211 Understanding the Role of the DataSet.html
212 Working with DataColumns.html
213 Working with DataRows.html
214 Working with DataTables.html
215 Binding DataTable Objects to Windows Forms GUIs.html
216 Working with Data Adapters.html
217 Adding Disconnection Functionality to AutoLotDAL.dll.html
218 Multitabled DataSet Objects and Data Relationships.html
219 The Windows Forms Database Designer Tools.html
220 Isolating Strongly Typed Database Code into a Class Library.html
221 Programming with LINQ to DataSet.html
222 Understanding the Role of Entity Framework.html
223 Building and Analyzing your First EDM.html
224 Programming Against the Conceptual Model.html
225 AutoLotDAL Version 4.0, Now with Entities.html
226 Data Binding Entities to Windows Forms GUIs.html
227 A Tale of Two XML APIs.html
228 Members of the System.Xml.Linq Namespace.html
229 Working with XElement and XDocument.html
230 Manipulating an in Memory XML Document.html
231 A Potpourri of Distributed Computing APIs.html
231a A .NET Web Service Example.html
232 The Role of WCF.html
233 Investigating the Core WCF Assemblies.html
234 The Visual Studio WCF Project Templates.html
235 The Basic Composition of a WCF Application.html
236 The ABCs of WCF.html
237 Building a WCF Service.html
238 Hosting the WCF Service.html
239 Building the WCF Client Application.html
240 Simplifying Configuration Settings with WCF 4.0.html
241 Using the WCF Service Library Project Template.html
242 Hosting the WCF Service within a Windows Service.html
243 Invoking a Service Asynchronously from the Client.html
244 Designing WCF Data Contracts.html
245 Defining a Business Process.html
246 Building a (Painfully) Simple Workflow.html
247 The WF 4.0 Runtime.html
248 Examining the Workflow 4.0 Activities.html
249 Building a Flowchart Workflow.html
250 Isolating Workflows into Dedicated Libraries.html
251 Consuming the Workflow Library.html
252 The Motivation Behind WPF.html
253 The Various Flavors of WPF.html
254 Investigating the WPF Assemblies.html
255 Building a WPF Application without XAML.html
256 Building a WPF Application using Only XAML.html
257 Transforming Markup into a .NET Assembly.html
258 Understanding The Syntax of WPF XAML.html
259 Building a WPF Application using Code-Behind Files.html
260 Building WPF Applications Using Visual Studio 2010.html
261 A Survey of the Core WPF Controls.html
262 Controlling Content Layout Using Panels.html
263 Building a Window’s Frame Using Nested Panels.html
264 Understanding WPF Control Commands.html
265 Building a WPF User Interface with Expression Blend.html
266 Building the Ink API Tab.html
267 Introducing the Documents API.html
268 Building the Documents Tab.html
269 Introducing the WPF Data-Binding Model.html
270 Understanding WPF's Graphical Rendering Services.html
271 Rendering Graphical Data Using Shapes.html
272 WPF Brushes and Pens.html
273 Applying Graphical Transformations.html
274 Working with Shapes using Expression Blend.html
275 Rendering Graphical Data Using Drawings and Geometries.html
276 Generating Complex Vector Graphics using Expression Design.html
277 Rendering Graphical Data Using the Visual Layer.html
278 Understanding the WPF Resource System.html
279 Working with Object (Logical) Resources.html
280 Understanding WPFs Animation Services.html
281 Authoring Animations in XAML.html
282 Understanding the Role of WPF Styles.html
283 Generating Styles with Expression Blend.html
284 Understanding the Role of Dependency Properties.html
285 Building a Custom Dependency Property.html
286 Understanding Routed Events.html
287 Logical Trees, Visual Trees and Default Templates.html
288 Building a Custom Control Template with Visual Studio 2010.html
289 Building Custom UserControls with Blend.html
290 Creating the Jackpot Deluxe WPF Application.html
291 The Role of HTTP.html
292 Understanding Web Applications and Web Servers.html
293 The Role of HTML.html
294 The Role of Client-Side Scripting.html
295 Posting Back to the Web Server.html
296 The Feature Set of the ASP.NET API.html
297 Building a Single File ASP.NET Web Page.html
298 Building an ASP.NET Web Page using Code Files.html
299 ASP.NET Web Sites and ASP.NET Web Applications.html
300 The ASP.NET Web Site Directory Structure.html
301 The Inheritance Chain of the Page Type.html
302 Interacting with the Incoming HTTP Request.html
303 Interacting with the Outgoing HTTP Response.html
304 The Life Cycle of an ASP.NET Web Page.html
305 The Role of the Web.config File.html
306 Understanding the Nature of Web Controls.html
307 The Control and WebControl Base Classes.html
308 Major Categories of ASP.NET Web Controls.html
309 Building the ASP.NET Cars Web Site.html
310 The Role of the Validation Controls.html
311 Working with Themes.html
312 The Issue of State.html
313 ASP.NET State Management Techniques.html
314 Understanding the Role of ASP.NET View State.html
315 The Role of the Global.asax File.html
316 Understanding the ApplicationSession Distinction.html
317 Working with the Application Cache.html
318 Maintaining Session Data.html
319 Understanding Cookies.html
320 The Role of the sessionState Element.html
321 Understanding the ASP.NET Profile API.html
322 The Windows Forms Namespaces.html
323 Building a Simple Windows Forms Application.html
324 The Visual Studio Windows Forms Project Template.html
325 The Anatomy of a Form.html
326 Responding to Mouse and Keyboard Activity.html
327 Designing Dialog Boxes.html
328 Rendering Graphical Data Using GDI+.html
329 Building a Complete Windows Forms Application.html
330 The Platform-Independent Nature of .NET.html
331 Obtaining and Installing Mono.html
332 The Mono Development Languages.html
333 Microsoft-Compatible Mono Development Tools.html
334 Building .NET Applications with Mono.html
335 Who is Using Mono.html
336 Suggestions for Further Study.html