Synopsis:
Repository code links are presented here, with annotations about their purpose and function.
-
BasicNetThreadDemos
Demonstrates starting and synchronizing .Net Threads. -
CodeAnalyzer
CodeAnalyzerExes
This is a C++ code analyzer used to compile metrics on your projects. It is also a good example of a relatively complex software system. The second link contains executables - there are two, one for the command-line analyzer and one for a GUI that runs the analyzer. -
CodeWebifier
The Webifier is a tool that accepts a filename and writes to a console the file contents, surrounded by <pre> and </pre> tags which instructs a browser to preserve white-space contents of the included text. Also, any critical markup characters are encoded with escape secquences so they simply appear as characters and are not intrepreted as markup. Now the user can "cut and paste" into a webpage to show contents of a code file at the selected location. -
CommPrototype
Provides a working message-passing communication channel. Each end of the channel encorporates a Sender and a Receiver to support asynchronous communication in both directions. -
CommWithFileXferService
Demonstrates how to support both message-passing and file transfer in a single service. -
ConcurrentFileAccess
Illustrates support for concurrent read and write access to specific files via a retry and wait strategy. -
Conversions
Demonstrates .Net Framework support for conversions - mostly to and from string representations. -
CS-BlockingQueue
Provides a thread-safe blocking queue implemented with the .Net Monitor class. This will be used in your projects as well as my demonstrations. -
CSGraph
Demonstrates one way to build a directed graph of vertices and edges using C# references. -
CSharpBasicDemos
Demonstrates compound objects, generics, lambdas, and functions that accept callable objects. -
CSharpDemos
Demonstrates extension methods and enumerable objects (also demonstrates generics and class relationships). -
CSharpEquivalence
Illustrates overloading Equals operations to support logical equivalence instead of physical equivalence, i.e., "these two strings have the same characters" instead of "these two strings have the same underlying instance". -
CSharpExamples
Demonstrates syntax for arrays, properties, indexers, and disposing. -
delegates-using
Illustrates several syntactical variations on declaration and invocation of delegates. -
dialogDemoCS
This project illustrates the advantages of using threads to do all significant work for a user interface. -
DynamicLinkLibraries
Illustrates using implicit loading of dlls versus explicit load requests. It also shows how to active and use dynamic link libraries with varying amounts of prior information about the dll's classes. -
ExtensionMethods
Demonstrates the creation and use of extension methods. -
LambdaCapture
Illustrates how lambda capture works. Capture is the acquisition of local data for use in lambda processing. -
LambdaDemo
Provides several lambda demos including one that illustrates how stored procedures could be implemented with lambdas. -
LinqExamples
Demonstrates making Linq Queries on .Net collections, Querying XML, Queries that sort, and binding query results to other classes. -
LinqQueryExamples
Demonstrations that accompany the Linq presentation. -
MediatorBaseCommunicator
Implements server processing with active objects and a dispatching mediator. -
MethodParamDemo
Provides code that accompanies a diagram representation of pass value objects by value and reference, and pass reference object handles by value and referernce. Each of these four cases has different behavior. -
Navigate
Provides a useful directory navigator component. -
NavigateWithDelegates
Provides a useful directory navigator component that removes, from the previous example's component, application specific code, making the Navigator reusable. -
NetContainers
Provides small usage demonstrations for most of the .Net Containers. -
Demonstrates -
Demonstrates -
Demonstrates -
Demonstrates -
Demonstrates -
Demonstrates