Click here to Skip to main content
6,628,613 members and growing! (20,941 online)
Email Password   helpLost your password?
Announcements
BullFrog Power
 
Search    
Add to IE Search

Articles by Marc Clifton (135 articles found)

Average article rating: 4.31

Dialogs and Windows

Message Form - A minimum time display form
Last Updated: 14 Dec 2006   Page Views: 23,065   Rating: 3.91/5    Votes: 8   Popularity: 3.53   Bookmark Count: 26
Display useful messages for a minimum duration.
A Plug-in Wizard Framework
Last Updated: 21 May 2008   Page Views: 21,778   Rating: 4.75/5    Votes: 25   Popularity: 6.63   Bookmark Count: 79
Licence: The BSD License   
A wizard framework that supports plug-ins for the wizard pages.

Edit Controls

Nullable Masked Edit, and a Better Masked Edit Also!
Last Updated: 22 Apr 2006   Page Views: 67,489   Rating: 4.64/5    Votes: 63   Popularity: 8.34   Bookmark Count: 102
A nullable masked edit control based on the .NET 2.0 MaskedTextBox.

Grid & Data Controls

A Helper Class to Bind a DataTable to a Class
Last Updated: 9 Nov 2007   Page Views: 21,762   Rating: 4.32/5    Votes: 18   Popularity: 5.43   Bookmark Count: 79
Binding to the DataTable without the System.Windows.Forms namespace.

Menus

Dynamic Menu Creation
Last Updated: 24 Sep 2002   Page Views: 153,924   Rating: 3.44/5    Votes: 19   Popularity: 4.40   Bookmark Count: 69
Dynamically create menus whose structure is defined in an Access database.

Miscellaneous

Understand .NET Scrollbars
Last Updated: 28 Dec 2004   Page Views: 77,961   Rating: 3.98/5    Votes: 21   Popularity: 5.27   Bookmark Count: 45
Thumb Size, Paging, and Sub-Paging issues.
Part I: Unifying Web and Windows Form design and layout
Last Updated: 9 Jul 2002   Page Views: 142,323   Rating: 4.11/5    Votes: 25   Popularity: 5.74   Bookmark Count: 100
Part I of a multipart series, it illustrates how to unify GUI design for both Web Forms and Windows Forms, so that a single GUI specification can be rendered in both technologies.
Part II: Web & Window Form Unification: Synchronous And Asynchronous Event Handling For Controls Created At Runtime
Last Updated: 13 Jul 2002   Page Views: 80,434   Rating: 4.06/5    Votes: 17   Popularity: 4.99   Bookmark Count: 71
This is the second part of a multipart article on unifying web and window form application development. This part demonstrates synchronous and asynchronous event handling of GUI control events, abstracting the implementation of web/window forms to be technology independant.
MyXAML--XAML-style gui generator (added styles)
Last Updated: 9 Mar 2004   Page Views: 178,388   Rating: 4.51/5    Votes: 73   Popularity: 8.40   Bookmark Count: 144
Generate controls, set property values, and wire up event handlers at runtime from an XML definition.
Mouse Events
Last Updated: 2 Jun 2005   Page Views: 63,360   Rating: 4.63/5    Votes: 18   Popularity: 5.82   Bookmark Count: 45
A helper class to expand on the mouse events provided by the Control class.

Selection Controls

An Outlook Bar Implementation
Last Updated: 12 Apr 2003   Page Views: 261,111   Rating: 4.54/5    Votes: 128   Popularity: 9.56   Bookmark Count: 267
Illustrates in a step-by-step manner the design and implementation of an Outlook style icon bar.

Tree Controls

XTree
Last Updated: 7 Jan 2006   Page Views: 49,445   Rating: 4.13/5    Votes: 19   Popularity: 5.27   Bookmark Count: 63
A template driven tree.
XTree - Part II
Last Updated: 29 May 2006   Page Views: 30,088   Rating: 4.00/5    Votes: 9   Popularity: 3.82   Bookmark Count: 50
A template driven tree control.
XTree Part III - Trees, DataSets, and DataTables
Last Updated: 6 Jul 2006   Page Views: 42,792   Rating: 4.52/5    Votes: 15   Popularity: 5.32   Bookmark Count: 76
A general purpose tree combined with automated DataRow management.

ASP.NET

Simple User Account Login
Last Updated: 23 Jun 2002   Page Views: 175,646   Rating: 3.25/5    Votes: 31   Popularity: 4.84   Bookmark Count: 82
Demonstrates maintaining user account information, managing session state, Access database I/O, cookies, and some other basic features.
A Lean And Mean Blog Engine
Last Updated: 27 Feb 2007   Page Views: 36,342   Rating: 3.43/5    Votes: 20   Popularity: 4.46   Bookmark Count: 37
My 3 day foray into writing a blog engine
A Lean And Mean Blog Engine, Part II
Last Updated: 27 Feb 2007   Page Views: 25,264   Rating: 4.11/5    Votes: 21   Popularity: 5.43   Bookmark Count: 40
Part II of my 3 day foray into writing a blog engine.

Trace and Logs

A Release Mode Breakpoint Using Reflection Emit
Last Updated: 9 Oct 2002   Page Views: 52,171   Rating: 4.04/5    Votes: 12   Popularity: 4.36   Bookmark Count: 20
C#'s release mode doesn't allow break points to be set. This function emits an IL break, forcing a breakpoint in the debugger.
A Treatise on Using Debug and Trace classes, including Exception Handling
Last Updated: 12 Oct 2002   Page Views: 133,082   Rating: 4.28/5    Votes: 33   Popularity: 6.50   Bookmark Count: 153
C#'s built in Debug and Trace classes can be confusing and inappropriately used. This article looks at one success story using debug traces and assertions, and presents an improved debug class.
Simple Code Path Testing
Last Updated: 8 Mar 2005   Page Views: 33,294   Rating: 4.00/5    Votes: 10   Popularity: 4.00   Bookmark Count: 18
Add code path testing to your unit tests.
Traceract
Last Updated: 3 Sep 2005   Page Views: 35,405   Rating: 3.69/5    Votes: 9   Popularity: 3.52   Bookmark Count: 24
A prototype debug tracer with an added dimension.

User Controls

A Data Driven Tab Strip User Control
Last Updated: 28 Oct 2003   Page Views: 148,286   Rating: 3.59/5    Votes: 24   Popularity: 4.95   Bookmark Count: 71
Reduce implementation time with a reusable, externally driven tab strip control.

GDI+

Create a fractal Christmas tree
Last Updated: 22 Dec 2002   Page Views: 151,745   Rating: 4.57/5    Votes: 30   Popularity: 6.76   Bookmark Count: 43
This program explores how trees are made using a simple fractal algorithm

General Graphics

The Koch Curve - Snowflake!
Last Updated: 24 Dec 2005   Page Views: 43,598   Rating: 4.45/5    Votes: 17   Popularity: 5.48   Bookmark Count: 30
Using the Koch curve, a fractal, to draw a snowflake.

Database

Object Mapping Part II - Schema Code Generator
Last Updated: 17 Dec 2006   Page Views: 33,771   Rating: 4.22/5    Votes: 12   Popularity: 4.55   Bookmark Count: 58
Generate an object mapping class from a schema definition.
Object Mapping Part I - The Row Cursor
Last Updated: 17 Dec 2006   Page Views: 33,419   Rating: 4.53/5    Votes: 18   Popularity: 5.69   Bookmark Count: 65
A row cursor implementation suitable for synchronizing and navigating a DataView against with object-mapped instance.
How to Manually Create a Typed DataTable
Last Updated: 28 Oct 2008   Page Views: 20,187   Rating: 4.72/5    Votes: 36   Popularity: 7.35   Bookmark Count: 84
Licence: The Code Project Open License (CPOL)   
When you override GetRowType, you also need to override NewRowFromBuilder().
Introduction to the Entity Framework
Last Updated: 12 Feb 2009   Page Views: 30,638   Rating: 4.68/5    Votes: 34   Popularity: 7.16   Bookmark Count: 117
Licence: The Code Project Open License (CPOL)   
Looking at the EF and database association patterns.
Accessing XML Using Insert/Update/Delete/Query Statements
Last Updated: 12 Apr 2005   Page Views: 75,950   Rating: 4.64/5    Votes: 21   Popularity: 6.14   Bookmark Count: 84
A psuedo-database for XML.
An XML Database Schema And Data Editor
Last Updated: 29 Sep 2002   Page Views: 124,335   Rating: 4.37/5    Votes: 47   Popularity: 7.31   Bookmark Count: 103
View and edit your XML database schema and data
DataTable Transaction Logger
Last Updated: 28 Feb 2006   Page Views: 50,466   Rating: 4.55/5    Votes: 26   Popularity: 6.44   Bookmark Count: 81
Undo/Redo DataTable transactions by logging row changes (insert/delete) and field changes.
BindingSource, Transaction Sandboxes, and Pre vs. Post Add Modalities
Last Updated: 13 Mar 2006   Page Views: 40,159   Rating: 4.33/5    Votes: 11   Popularity: 4.51   Bookmark Count: 40
An investigation into different data entry modalities and the need for a transaction sandbox.
The BeginLoadData problem and why OOP doesn't work
Last Updated: 22 Jun 2006   Page Views: 18,065   Rating: 3.27/5    Votes: 11   Popularity: 3.41   Bookmark Count: 14
A foray into a specific problem while discovering at the same time the reasons for why OOP often fails us.
DataTable Synchronization Manager
Last Updated: 4 Mar 2006   Page Views: 31,660   Rating: 4.53/5    Votes: 9   Popularity: 4.33   Bookmark Count: 50
Adds synchronization to the DataTable Transaction Logger.

.NET Framework

Multi-Image Viewer
Last Updated: 29 Dec 2004   Page Views: 98,800   Rating: 4.30/5    Votes: 21   Popularity: 5.68   Bookmark Count: 118
A multi-image viewer with drag and drop source and sink capability.
An XML Schema Definition (XSD) Editor
Last Updated: 14 Oct 2003   Page Views: 236,875   Rating: 4.37/5    Votes: 78   Popularity: 8.27   Bookmark Count: 155
An editor capable of producing common XSD documents
A DiagnosticDictionary
Last Updated: 19 Nov 2008   Page Views: 6,662   Rating: 3.71/5    Votes: 12   Popularity: 4.00   Bookmark Count: 13
Licence: The Code Project Open License (CPOL)   
Making the "the given key was not present" message more informative.
An RSS 2.0 Blog Reader Written In MyXaml
Last Updated: 13 Apr 2004   Page Views: 55,990   Rating: 4.23/5    Votes: 17   Popularity: 5.21   Bookmark Count: 37
An RSS 2.0 Blog Reader Written in MyXaml
A Vector Graphics Rendered Animated Clock
Last Updated: 18 Apr 2004   Page Views: 208,221   Rating: 4.67/5    Votes: 74   Popularity: 8.72   Bookmark Count: 103
Demonstrates Using MyXaml With A Vector Graphics Engine To Create An Analog Clock
Consuming A Weather Web Service With MyXaml
Last Updated: 8 May 2004   Page Views: 68,582   Rating: 4.36/5    Votes: 25   Popularity: 6.09   Bookmark Count: 36
A demonstration of using MyXaml to consume a web service.
MycroXaml
Last Updated: 23 Sep 2004   Page Views: 50,955   Rating: 4.40/5    Votes: 23   Popularity: 5.99   Bookmark Count: 41
Licence: The Code Project Open License (CPOL)   
A Declarative Xml Parser In Less Than 300 Lines Of Code
Declaratively Populating A Property Grid
Last Updated: 23 Sep 2004   Page Views: 56,662   Rating: 4.14/5    Votes: 12   Popularity: 4.46   Bookmark Count: 41
Runtime class generation to declaratively populate a property grid.
Property Events
Last Updated: 3 May 2005   Page Views: 31,081   Rating: 4.76/5    Votes: 10   Popularity: 4.76   Bookmark Count: 33
Licence: The Code Project Open License (CPOL)   
Declarative programming of Property Events.
XAML Resources
Last Updated: 27 Jan 2006   Page Views: 83,987   Rating: 4.34/5    Votes: 16   Popularity: 5.23   Bookmark Count: 60
Describing Resources Available Today For XAML/Declarative Programming

Game Development

XNA

XNA: A Beginner's Introduction
Last Updated: 17 Jul 2007   Page Views: 51,641   Rating: 4.90/5    Votes: 26   Popularity: 6.93   Bookmark Count: 96
Licence: The Code Project Open License (CPOL)   
Getting started with XNA, Blender, and 3D modeling

Windows Presentation Foundation

WPF - Schema Diagrammer Part I
Last Updated: 20 Apr 2008   Page Views: 21,845   Rating: 4.19/5    Votes: 15   Popularity: 4.93   Bookmark Count: 27
Licence: The Code Project Open License (CPOL)   
Programmatically placing UI elements on a Canvas.

C / C++ Language

Organic Programming Environment (OPEN)
Last Updated: 26 May 2002   Page Views: 114,396   Rating: 4.18/5    Votes: 27   Popularity: 5.99   Bookmark Count: 50
OPEN is a prototype development exploring a different paradigm for data management. Instead of applications being process-centric, in which processes drive data transfer, the Organic Programming environment uses a data-centric approach. In this paradigm, data initiates processes.
A Basic iButton Interface
Last Updated: 7 Mar 2003   Page Views: 92,652   Rating: 4.43/5    Votes: 27   Popularity: 6.35   Bookmark Count: 39
Licence: The Code Project Open License (CPOL)   
An Example Of How To Interface To Dallas Semiconductor's iButton And 1-Wire Network
A Simple Bitmap Button Implementation
Last Updated: 2 Jul 2003   Page Views: 109,139   Rating: 4.19/5    Votes: 16   Popularity: 5.05   Bookmark Count: 55
A small class that provides a pure bitmapped button capability for WinForms.

C#

Disconnected Client Architecture
Last Updated: 14 Feb 2007   Page Views: 69,981   Rating: 4.73/5    Votes: 54   Popularity: 8.19   Bookmark Count: 255
Licence: The Code Project Open License (CPOL)   
A look at an offline client architecture that I've implemented in an application for a client.
A Project Dependency Graph Utility for Visual Studio 2008
Last Updated: 17 Jun 2009   Page Views: 16,719   Rating: 4.78/5    Votes: 25   Popularity: 6.68   Bookmark Count: 51
Licence: The Code Project Open License (CPOL)   
Review your project dependencies.
C# Keywords, Part I: Modifier Keywords
Last Updated: 29 Oct 2002   Page Views: 141,871   Rating: 4.26/5    Votes: 36   Popularity: 6.63   Bookmark Count: 115
To learn a new language, a good starting point is by becoming familiar with its keywords and their usage.
C# Keywords, Part II: Type Conversion, Operators and Object Types
Last Updated: 25 Dec 2002   Page Views: 117,591   Rating: 4.07/5    Votes: 33   Popularity: 6.18   Bookmark Count: 72
In part II of this multipart tutorial, I describe the keywords that can loosely be catagorized as dealing with object types, operators and type conversions.
An instrumented synchronous/asynchronous event manager utilizing EventHandler and Reflection
Last Updated: 16 Oct 2002   Page Views: 63,786   Rating: 4.20/5    Votes: 15   Popularity: 4.94   Bookmark Count: 71
Implements an instrumented event manager which can be used to invoke event sinks both synchronously and asynchronously. The event sink can be declared using either the System.EventHandler delegate or by reflection.
Proxy Delegates
Last Updated: 27 Dec 2002   Page Views: 64,459   Rating: 4.08/5    Votes: 11   Popularity: 4.25   Bookmark Count: 33
Licence: The Code Project Open License (CPOL)   
Use reflection and proxy delegates to interface between two separate assemblies.
An Event Pool
Last Updated: 21 Feb 2004   Page Views: 76,911   Rating: 4.39/5    Votes: 45   Popularity: 7.26   Bookmark Count: 91
Licence: The Code Project Open License (CPOL)   
An event pool helps manage large amounts of events that otherwise clutter up your code and make maintenance difficult.
Event Chain
Last Updated: 1 Jul 2008   Page Views: 18,713   Rating: 4.65/5    Votes: 32   Popularity: 7.00   Bookmark Count: 52
Licence: The Code Project Open License (CPOL)   
Executing a multicast delegate to create an event chain that can be terminated by any handler in the chain
Benchmarking Direct, Delegate and Reflection Method Invocations
Last Updated: 5 Jan 2003   Page Views: 79,168   Rating: 4.16/5    Votes: 16   Popularity: 5.00   Bookmark Count: 21
This console mode applet illustrates the significant performance hit of methods invoked using reflection.
The Application Automation Layer - Using XML to generate Menus
Last Updated: 5 May 2003   Page Views: 161,278   Rating: 4.69/5    Votes: 55   Popularity: 8.17   Bookmark Count: 162
Exploring the issues of menu management as specified externally via an XML file, in the context of status bars, toolbars, and events.
The Application Automation Layer - Using XML To Dynamically Generate GUI Elements--Forms And Controls
Last Updated: 22 Jun 2003   Page Views: 233,239   Rating: 4.16/5    Votes: 60   Popularity: 7.41   Bookmark Count: 282
Exploring the issues of runtime form and control generation as specified by XML files.
Another Look At IDisposable
Last Updated: 29 Aug 2003   Page Views: 140,585   Rating: 4.35/5    Votes: 42   Popularity: 7.06   Bookmark Count: 104
A discussion of the Dispose method, how to use it, when to use it, and problems using it.
Advanced Unit Testing, Part I - Overview
Last Updated: 18 Sep 2003   Page Views: 345,869   Rating: 4.56/5    Votes: 116   Popularity: 9.41   Bookmark Count: 425
An Introduction To The Issues Of Unit Testing
Advanced Unit Testing, Part II - Core Implementation
Last Updated: 22 Sep 2003   Page Views: 120,019   Rating: 4.10/5    Votes: 30   Popularity: 6.06   Bookmark Count: 149
This article illustrates how a unit test automation framework is implemented and continues the case study developed in Part I.
Advanced Unit Testing, Part III - Testing Processes
Last Updated: 28 Sep 2003   Page Views: 165,168   Rating: 4.52/5    Votes: 48   Popularity: 7.60   Bookmark Count: 144
Extend Unit Testing So That Entire Processes Can Be Tested
Advanced Unit Testing, Part IV - Fixture Setup/Teardown, Test Repetition And Performance Tests
Last Updated: 8 Oct 2003   Page Views: 103,038   Rating: 4.36/5    Votes: 37   Popularity: 6.83   Bookmark Count: 140
This article extends the unit testing framework, adding fixture setup/teardown capability and performance (time and memory) measurement/testing.
Declarative Programming--Unifying Form And Web Development
Last Updated: 23 Nov 2004   Page Views: 37,487   Rating: 4.17/5    Votes: 13   Popularity: 4.64   Bookmark Count: 29
Use declarative programming to create UI's common for both Web and Form applets.
An Undo/Redo Buffer Framework
Last Updated: 2 Jun 2005   Page Views: 45,263   Rating: 4.40/5    Votes: 20   Popularity: 5.72   Bookmark Count: 91
The basic framework to implement undo/redo functionality.
Object Comparer
Last Updated: 15 Jun 2005   Page Views: 28,849   Rating: 3.89/5    Votes: 13   Popularity: 4.33   Bookmark Count: 17
A fun but probably useless foray into comparing objects of different types.
Understanding Simple Data Binding
Last Updated: 4 Sep 2005   Page Views: 59,071   Rating: 4.73/5    Votes: 32   Popularity: 7.12   Bookmark Count: 67
Tricks, pitfalls, and work arounds to .NET's data binding.
A Raw Serializer
Last Updated: 8 Jan 2006   Page Views: 48,477   Rating: 4.75/5    Votes: 29   Popularity: 6.94   Bookmark Count: 85
Licence: The Code Project Open License (CPOL)   
Replace the BinaryFormatter with this class for compact (nullable) value type serialization.
The Enumerable Enumerator
Last Updated: 2 Nov 2006   Page Views: 20,641   Rating: 4.47/5    Votes: 19   Popularity: 5.71   Bookmark Count: 32
Iterate over your enums, and other things to do with enums.
Safe Method Caller -- A Defensive Programming Technique
Last Updated: 26 Jun 2007   Page Views: 14,581   Rating: 3.79/5    Votes: 14   Popularity: 4.34   Bookmark Count: 40
Licence: The Code Project Open License (CPOL)   
There are numerous times when we write code that communicates with a service or technology that, by nature of the connection or the robustness of the technology, can fail. This service helps protect you from those problems.
Concurrent Programming - A Primer
Last Updated: 3 Jan 2008   Page Views: 28,809   Rating: 4.55/5    Votes: 38   Popularity: 7.20   Bookmark Count: 68
Licence: The Code Project Open License (CPOL)   
An overview of Microsoft's Parallel FX initiative, including the Task Parallel Library and PLINQ.
Declarative Generics And Type Converters
Last Updated: 17 Sep 2004   Page Views: 42,139   Rating: 4.39/5    Votes: 10   Popularity: 4.39   Bookmark Count: 34
How to declaratively define a closed generic and use type converters to implement assignment from a string.
A Circular List
Last Updated: 4 Mar 2007   Page Views: 23,634   Rating: 4.14/5    Votes: 13   Popularity: 4.61   Bookmark Count: 30
A circular list implementation.
Detect if another process is running and bring it to the foreground
Last Updated: 30 Sep 2002   Page Views: 135,508   Rating: 4.22/5    Votes: 29   Popularity: 6.17   Bookmark Count: 88
Sometimes, you only want one instance of your application running. This is a C# implementation that tests to see if an instance of your application is already running, and brings it to the foreground if it is.
How To Swap Top Level Forms
Last Updated: 25 Jun 2004   Page Views: 36,647   Rating: 4.47/5    Votes: 19   Popularity: 5.72   Bookmark Count: 26
Use a specialized ApplicationContext to swap top level forms.
A Simple Drag And Drop How To Example
Last Updated: 10 Dec 2004   Page Views: 106,766   Rating: 4.48/5    Votes: 55   Popularity: 7.79   Bookmark Count: 131
The basics, along with some things I learned along the way.
Using NetZ with Dynamically Loaded Assemblies
Last Updated: 21 Jul 2006   Page Views: 15,784   Rating: 4.53/5    Votes: 7   Popularity: 3.83   Bookmark Count: 18
Licence: The Code Project Open License (CPOL)   
How to use dynamically loaded assemblies with your NetZ-built application
A Study In Equality
Last Updated: 26 Dec 2007   Page Views: 7,041   Rating: 3.96/5    Votes: 12   Popularity: 4.27   Bookmark Count: 16
Licence: The Code Project Open License (CPOL)   
Understanding value and ref types for equality tests and as keys in collections
Pinned Object
Last Updated: 11 Feb 2007   Page Views: 16,962   Rating: 4.50/5    Votes: 14   Popularity: 5.16   Bookmark Count: 15
Licence: The Code Project Open License (CPOL)   
A helper class for working with structures that need to be pinned to prevent the GC from moving them.
Window State Monitor
Last Updated: 8 Mar 2005   Page Views: 29,412   Rating: 4.11/5    Votes: 10   Popularity: 4.11   Bookmark Count: 25
A window state monitor.
Hosting XNA in a Window
Last Updated: 28 Jul 2007   Page Views: 17,807   Rating: 4.60/5    Votes: 4   Popularity: 2.77   Bookmark Count: 34
My journey to unravel and discover a solution for hosting XNA in a WinForm UserControl

C++ / CLI

A Decimal Class Implementation
Last Updated: 16 Feb 2003   Page Views: 110,839   Rating: 4.05/5    Votes: 15   Popularity: 4.76   Bookmark Count: 19
Use this class when high precision is required in basic numerical operations.

XML

The XmlTextReader - A Beginner's Guide
Last Updated: 2 Sep 2006   Page Views: 59,640   Rating: 4.25/5    Votes: 18   Popularity: 5.34   Bookmark Count: 65
Licence: The Code Project Open License (CPOL)   
An introduction to the XmlTextReader.
A Simple Serializer / Deserializer
Last Updated: 22 Sep 2004   Page Views: 50,589   Rating: 4.24/5    Votes: 15   Popularity: 4.98   Bookmark Count: 58
A simple Serializer / Deserializer.
Generate Classes From Declarative Code
Last Updated: 7 Oct 2004   Page Views: 42,311   Rating: 4.26/5    Votes: 11   Popularity: 4.44   Bookmark Count: 35
Creates C# classes from declarative XML code samples.
XML Control Panel
Last Updated: 30 Nov 2004   Page Views: 36,919   Rating: 4.56/5    Votes: 15   Popularity: 5.36   Bookmark Count: 45
Demonstrating putting together a useful application from the amazing amount of code available here at The Code Project.
An XML Compiler
Last Updated: 13 Sep 2005   Page Views: 35,231   Rating: 4.45/5    Votes: 22   Popularity: 5.98   Bookmark Count: 62
Licence: The Code Project Open License (CPOL)   
Convert your XML object graph to code using CodeDom.

Algorithms & Recipes

A KeyedList implementation
Last Updated: 24 Dec 2003   Page Views: 94,127   Rating: 4.42/5    Votes: 26   Popularity: 6.25   Bookmark Count: 34
A KeyedList implements an ordered key-value list.
Generic Keyed List
Last Updated: 27 Jan 2006   Page Views: 58,360   Rating: 4.67/5    Votes: 18   Popularity: 5.86   Bookmark Count: 51
A KeyedList using C# 2.0 Generics.
A Deep Dish Dictionary Clone Routine
Last Updated: 18 Dec 2007   Page Views: 10,767   Rating: 4.06/5    Votes: 3   Popularity: 1.94   Bookmark Count: 10
Licence: The Code Project Open License (CPOL)   
Cloning a Dictionary.
A Simple Moving Average Algorithm
Last Updated: 4 Mar 2007   Page Views: 58,307   Rating: 4.16/5    Votes: 33   Popularity: 6.31   Bookmark Count: 47
A simple moving average algorithm.
Tiered Error Management And Recovery -- A Defensive Programming Technique
Last Updated: 25 Jun 2007   Page Views: 10,899   Rating: 3.76/5    Votes: 7   Popularity: 3.18   Bookmark Count: 29
Licence: The Code Project Open License (CPOL)   
A small RecoveryService class that implements multiple level, multiple retry per level error management.
Concurrent Programming - Investigating Task Messaging To Achieve Synchronization Free Inter-Task Communication
Last Updated: 7 Jan 2008   Page Views: 10,982   Rating: 4.63/5    Votes: 15   Popularity: 5.44   Bookmark Count: 39
Licence: The Code Project Open License (CPOL)   
Further studies of Parallel FX.
Introduction to NIEM and IEPDs
Last Updated: 1 Jan 2009   Page Views: 7,475   Rating: 4.72/5    Votes: 6   Popularity: 3.67   Bookmark Count: 17
Licence: The Code Project Open License (CPOL)   
Developed by the Department of Justice and the Department of Homeland Security, the National Information Exchange Model "Bridges Information Systems".
A QuickSort Algorithm With Customizable Swapping
Last Updated: 19 Jan 2004   Page Views: 87,360   Rating: 4.30/5    Votes: 29   Popularity: 6.29   Bookmark Count: 43
Ever need to customize the swapping function when sorting? This class lets you do that.
Sorting Algorithms In C#
Last Updated: 4 Feb 2004   Page Views: 165,875   Rating: 4.52/5    Votes: 38   Popularity: 7.14   Bookmark Count: 149
A collection of sorting algorithms implementing customizable comparitor and swapper functions.

Bugs & Workarounds

A Debug Stopwatch
Last Updated: 15 Dec 2007   Page Views: 10,547   Rating: 4.38/5    Votes: 10   Popularity: 4.38   Bookmark Count: 29
Licence: The Code Project Open License (CPOL)   
A debug build stopwatch useful for diagnostic timing.
The Process Async Reader Bug
Last Updated: 15 Dec 2007   Page Views: 7,738   Rating: 4.67/5    Votes: 2   Popularity: 1.40   Bookmark Count: 11
Licence: The Code Project Open License (CPOL)   
A workaround for a bug I discovered with the async reader in the Process class.

Internet / Network

The Simplest TcpServer
Last Updated: 19 Mar 2006   Page Views: 55,706   Rating: 4.42/5    Votes: 23   Popularity: 6.01   Bookmark Count: 101
Licence: The Code Project Open License (CPOL)   
A really basic TCP server, just the core
Using a NetworkStream with raw serialization, GZipStream, and CryptoStream
Last Updated: 26 Mar 2006   Page Views: 35,451   Rating: 4.72/5    Votes: 18   Popularity: 5.93   Bookmark Count: 61
Using a NetworkStream with raw serialization, GZipStream, and CryptoStream.

String handling

Simple CString Extension
Last Updated: 12 Jun 2002   Page Views: 75,953   Rating: 3.75/5    Votes: 15   Popularity: 4.41   Bookmark Count: 20
Simple extension for better substring functionality and numeric formatting
String Helpers
Last Updated: 15 Jun 2005   Page Views: 46,278   Rating: 4.23/5    Votes: 21   Popularity: 5.59   Bookmark Count: 48
A small set of helper methods for string manipulation.

Threads, Processes & IPC

.NET's ThreadPool Class - Behind The Scenes
Last Updated: 18 Mar 2003   Page Views: 108,418   Rating: 4.39/5    Votes: 55   Popularity: 7.64   Bookmark Count: 121
Licence: The Code Project Open License (CPOL)   
When to use .NET's ThreadPool class, and when to use something different.
A Worker Thread Class For Processing Work Units
Last Updated: 13 Sep 2006   Page Views: 29,762   Rating: 4.28/5    Votes: 24   Popularity: 5.91   Bookmark Count: 48
Processing work units in a single thread instead of using a thread pool.

Design and Architecture

Aspect Oriented Programming / Aspect Oriented Software Design
Last Updated: 29 Apr 2003   Page Views: 114,829   Rating: 4.26/5    Votes: 51   Popularity: 7.28   Bookmark Count: 137
Licence: The Code Project Open License (CPOL)   
Everything you ever wanted to know but were afraid to ask about AOP/AOSD
What Is A Framework?
Last Updated: 3 Nov 2003   Page Views: 194,725   Rating: 4.06/5    Votes: 56   Popularity: 7.10   Bookmark Count: 111
Licence: The Code Project Open License (CPOL)   
An attempt to define what the term "framework" means.
Writing XAML Friendly Assemblies
Last Updated: 21 Mar 2004   Page Views: 44,493   Rating: 3.97/5    Votes: 29   Popularity: 5.81   Bookmark Count: 32
How to write assemblies so that they will work with the various XAML parsers that are starting to emerge.
Declarative Programming Of The MVC Pattern Within The Context Of DataBinding
Last Updated: 31 May 2004   Page Views: 50,011   Rating: 4.69/5    Votes: 14   Popularity: 5.38   Bookmark Count: 82
Exploring the MVC pattern.
Mementos
Last Updated: 2 Jun 2005   Page Views: 25,003   Rating: 3.83/5    Votes: 13   Popularity: 4.27   Bookmark Count: 35
A basic IMemento implementation.
The Application Automation Layer: Introduction And Design
Last Updated: 25 Dec 2002   Page Views: 171,613   Rating: 4.35/5    Votes: 35   Popularity: 6.71   Bookmark Count: 123
This introduction lays the foundation for a framework that promotes a consistent design and coding style for large-scale, multi-developer projects and results in applications that are responsive to requirement changes, easily updated and easily debugged.
The Application Automation Layer - Design And Implementation of The Bootstrap Loader And The Component Manager
Last Updated: 1 Jan 2003   Page Views: 101,949   Rating: 4.14/5    Votes: 21   Popularity: 5.47   Bookmark Count: 111
This article describes in detail the design considerations for the Bootstrap Loader and the Component Manager.
The Application Automation Layer - The Data Hub Implementation
Last Updated: 13 Mar 2003   Page Views: 84,565   Rating: 4.53/5    Votes: 30   Popularity: 6.69   Bookmark Count: 96
The third installment of this series discusses the design and implementation of the Data Hub.
Introduction to NIEM Tools
Last Updated: 24 Mar 2009   Page Views: 3,029   Rating: 5.00/5    Votes: 1   Popularity: 0.00   Bookmark Count: 5
Licence: The Code Project Open License (CPOL)   
A review of some of the tools available to work with the NIEM.
How Programming Should Be Done
Last Updated: 15 Jun 2009   Page Views: 14,151   Rating: 4.90/5    Votes: 41   Popularity: 7.90   Bookmark Count: 123
Licence: The Code Project Open License (CPOL)   
Cx: A prototype on component loose coupling.
CX Part II
Last Updated: 5 Aug 2009   Page Views: 6,312   Rating: 4.80/5    Votes: 27   Popularity: 6.87   Bookmark Count: 26
Licence: The Code Project Open License (CPOL)   
Build a Metadata Designer for the CX Dynamic Composition Framework.
Event Logging in Cx
Last Updated: 30 Sep 2009   Page Views: 2,324   Rating: 4.83/5    Votes: 6   Popularity: 3.76   Bookmark Count: 6
Licence: The Code Project Open License (CPOL)   
Adding an event logger to Cx.
What Is Extreme Programming?
Last Updated: 21 Jul 2003   Page Views: 131,220   Rating: 3.91/5    Votes: 43   Popularity: 6.39   Bookmark Count: 66
A brief treatise on what XP is all about, with references to links, books, authors, and sites.
A Look At What's Wrong With Objects
Last Updated: 6 Aug 2003   Page Views: 144,733   Rating: 4.65/5    Votes: 142   Popularity: 10.01   Bookmark Count: 185
Licence: The Code Project Open License (CPOL)   
A look at what is wrong with OOD/OOP based on CPian responses to the question "What is wrong with objects".
What is SCRUM?
Last Updated: 18 Aug 2003   Page Views: 201,136   Rating: 3.67/5    Votes: 28   Popularity: 5.31   Bookmark Count: 85
A concise summary of SCRUM, one of the "Agile Methods"
What Is DSDM?
Last Updated: 29 Sep 2003   Page Views: 135,806   Rating: 3.27/5    Votes: 11   Popularity: 3.40   Bookmark Count: 42
A concise summary of the Dynamic Systems Development Method, one of the "Agile Methods"
Comparing Declarative And Imperative Programming
Last Updated: 17 Jun 2005   Page Views: 23,760   Rating: 3.70/5    Votes: 15   Popularity: 4.35   Bookmark Count: 34
A simple example comparing/contrasting the differences in imperative and declarative programming.
Test Driven Prototyping - Learning About .NET Remoting
Last Updated: 7 Apr 2007   Page Views: 30,518   Rating: 4.67/5    Votes: 25   Popularity: 6.53   Bookmark Count: 63
Use test driven development processes to determine the issues affecting application architecture and design with regards to .NET remoting.
Advanced Unit Test, Part V - Unit Test Patterns
Last Updated: 3 Mar 2004   Page Views: 378,627   Rating: 4.55/5    Votes: 63   Popularity: 8.18   Bookmark Count: 258
An Introduction To The Concept Of Unit Test Patterns
Writing Your First Unit Test
Last Updated: 12 Apr 2005   Page Views: 74,934   Rating: 4.38/5    Votes: 26   Popularity: 6.20   Bookmark Count: 114
A primer on how to figure out where to start with unit testing.

Author Resources

A Guide To Writing Articles For Code Project
Last Updated: 16 Aug 2003   Page Views: 236,093   Rating: 4.55/5    Votes: 167   Popularity: 10.11   Bookmark Count: 213
Licence: The Code Project Open License (CPOL)   
Some tips on writing a decent article.

Hardware & System

A Dynamically Generated XML Data Editor
Last Updated: 14 Oct 2003   Page Views: 227,865   Rating: 4.58/5    Votes: 74   Popularity: 8.56   Bookmark Count: 175
Licence: The Code Project Open License (CPOL)   
Using an XML Schema Definition (XSD) document, this utility dynamically generates a data entry form to create and edit XML data.

Scrapbook

Diary Of A CEO
Last Updated: 6 Sep 2005   Page Views: 33,489   Rating: 4.19/5    Votes: 78   Popularity: 7.92   Bookmark Count: 37
Build an n-tier client/server application - Preface.
Diary Of A CEO - Question Everything
Last Updated: 8 Sep 2005   Page Views: 16,614   Rating: 4.42/5    Votes: 20   Popularity: 5.74   Bookmark Count: 30
Decisions in creating a flexible architecture.
Diary Of A CEO - The Really Hard Part
Last Updated: 14 Sep 2005   Page Views: 23,158   Rating: 4.15/5    Votes: 23   Popularity: 5.65   Bookmark Count: 28
Prototyping, some false starts, and further architecting.
Diary Of A CEO - Software Yoga
Last Updated: 19 Sep 2005   Page Views: 20,416   Rating: 4.14/5    Votes: 11   Popularity: 4.31   Bookmark Count: 24
Communication, skillsets and task assignment issues.
Diary Of A Coder--Marc's Boatyard Bug
Last Updated: 14 Feb 2003   Page Views: 60,947   Rating: 4.17/5    Votes: 50   Popularity: 7.09   Bookmark Count: 13
Marc bares all in a discussion of a bug involving the atof function.
Db - The Future Is Coming
Last Updated: 31 Mar 2006   Page Views: 54,743   Rating: 4.45/5    Votes: 96   Popularity: 8.81   Bookmark Count: 16
Where Will You Be?
Going Solo – First Steps in Building a Successful Company (Part IIA) - A slight divergence
Last Updated: 28 Mar 2008   Page Views: 24,516   Rating: 4.38/5    Votes: 26   Popularity: 6.19   Bookmark Count: 40
Licence: The Code Project Open License (CPOL)   
So you want to go it alone? Things to think about when running your company.

Marc Clifton


Member
Marc is the creator of two open source projets, MyXaml, a declarative (XML) instantiation engine and the Advanced Unit Testing framework, and Interacx, a commercial n-tier RAD application suite.  Visit his website, www.marcclifton.com, where you will find many of his articles.

Marc lives in Hudson, NY with his son Ian, who attends the Hawthorne Valley School. To contact Marc, email him at marc.clifton@gmail.com.
Occupation: Architect
Company: Interacx
Location: United States United States


Last Updated 20 Nov 2009
Web22 | 2.2.0175 | Advertise | Privacy
Copyright © CodeProject, 1999-2009
All Rights Reserved. Terms of Use