Welcome to Egon's C# and .NET Page

 

Welcome Visitor,

This is my personal homepage and it's dedicated to C# Programming. Here you will find some C# Snippets, Articles i've written (most of them are in german language), Some small projects and Links to Resources i found useful.

If you have any questions regarding this Site, take a look at the About Section and feel free to contact me. Don't write me if you feel that this page needs a new look'n'feel, i am stilly too lazy to create something more sophisticated ;-)

Egon A. Rath

Things on this Site:


Snippets:

I am currently in the process of learning the C# Language and the .NET Framework on Microsoft Windows (Ok, this sentence is written here since the beginning of this Webpage in Fall 2004, but ey Software Development is always learning!). Below you will find some snippets of Code i created during my learning time. Most of them are not useful in any way except as a reminder for me personally. All the Source Codes found below in this Section are GPL'ed.

Snippet Description
Operator overloading Example How to overload some of the operators (+, >>, true/false) on Classes so that they can be used like the built-in data types.
Delegate Example How to call delegates
Generics - Part 1 How to use Generics, Part 1
Events and Delegates How to use Events and Delegates
Object Serialization How to serialize and de-serialize a object into and from a File Stream
Windows Forms Fullscreen How to make a Windows Form Application to run Fullscreen (also shows some simple usage on using the Table Layout Control)
Windows Forms and Threads How to manipulate Windows Forms Controls from within another Thread
P/Invoke and native Callbacks How to use P/Invoke with Methods that require a Callback Function
Traverse Directory How to traverse a Directory from a given root
Windows Message Queuing How to use Windows Message Queuing Services
Implementing a Enumerator How to implement the Interfaces necessary for the C# 'foreach' Keyword
Enumerating Performance Objects How to enumerate all Performance Objects available on the local System
Delegates without 'delegate' How to implement a Delegating Mechanism without using the 'delegate' Keyword (Java Style)
Anonymous Delegates How to use anonymous Delegates
OpenGL & WinForms How to use TAO's OpenGL inside of Windows Forms
Implicit and Explicit Type conversion How to implement a Type Converter for a custom Type (Implicit and Explicit Conversion covered)
Fast GDI+ Graphics How to perform relativly fast GDI+ Graphic Operations using Back-Buffers
Bit Operations How to use Bit Operations (NOT,AND,OR,XOR and Bitshifting)
Double-Linked Dynamic Lists How to create a double-linked Dynamic List (VS2005 Project in ZIP File)
Asynchronus Method Call's How to make use of Asynchronus Method Calls using Delegates
Keep Window in Background How to make a Windows Form which is always in the Background and cannot be activated
Tab Page Hide How to hide and Show Pages in a Tab Control
Multithreaded Bitmap Access How to draw to a Bitmap from different Threads at the same time
Generic Iterators How to implement Generic Iterators (for the foreach statement)
SDL inside Windows Forms How to Display a SDL Window (and other Applications like Notepad) inside your Windows Forms Application
Custom Settings Provider How to implement a custom Settings Provider for reading standard INI Files while using the .NET 2.0 Configuration Model
Observer/Subject Pattern How to implement the Observer/Subject Pattern in C#
GTK# Intro How to create a simple GTK# Application. In this Snippet we create a Text Viewer for .NET and Mono
The MVC Pattern How to implement the MVC Pattern in C#
The Concrete Factory Pattern How to implement the Concrete Factory Pattern in C#
Memory Copy How to implement a memcpy like Functionality in pure C# (and the OS specific methods where available)
Transparent BitBlt How to use BitBlt for copying transparent Images
C# 3.0 Features A short overview of the new Features in C# 3.0 (excluding LINQ)
CRC32 Calculation How to calculate a CRC32 Checksum for a given File
Check .NET Assembly How to check if a given File (DLL,EXE) is executable by the CLR or not
Lambda Expressions Simple example on how to use Lambda Expressions
Points in a Line How to calculate the intermediate Points between two given Points in a Kartesian Coordinate System
NetworkStream Serialisation How to Serialise/Deserialise a Object over a NetworkStream
Numeric Datatype Conversion A short Reference on How numeric Datatype conversion works (German Language)
Generic Iterators II Another example for a generic Iterator, this time two different methods (Interface and yield)
Unsafe Code How to use unsafe Code and other unsafe Memory operations
Cast operator Overloading How to overload the cast operators
Generic Constraint How to use constraints on Generics
LINQ and Lambda Expressions Short snippet on how to use Lambda Expressions and LINQ (to Objects)

Articles (written for the nice Community over at myCSharp.de):

Article Name
How to create a Win32 Service with C# (German Language)
How to create a Windows Tray Application with C# (German Language)
How to use C# Attributes (German Language)
How to make use of NTFS File Streams in C# (German Language)
How to create Windows Forms with Custom Borders (German Language)
The .NET Runtime, Part 1: Loading and Executing Applications (German Language)
How to write simple PowerShell Cmdlets (German Language)
How to implement your own Settings Provider to persistance User/Application Settings (German Language)
Resources in .NET Assemblies (German Language)
Bit Operations in C# (German Language)
The SDL.NET Tutorial by Example (English Language)
.NET Reflector Short overview (German Language)

Publicly available projects (... and other stuff not fitting into the other sections):

All Source Codes found below in this Section are GPL'ed

Project Name Description
String Tokenizer A fully fledged String Tokenizer
Syntax Highlighting A Quick and Dirty approach on Syntax Highlighting
Breath-First Pathfinding A Demonstration of the Breath-First Pathfinding Algorithm
Time Frame Control A Windows Forms Control for selecting Time Frames during a Week
Advanced MessageBox A Replacement for the oldening Windows MessageBox Control
Game of Life A simple Implementation of Conway's Game of Life in .NET
Delbut A simple Tool for negative Deletion of Files based on Regular Expressions
AVICap Library A simple Library for accessing Video for Windows in .NET
Dragable ListBox A simple Control which implements Image-aware and Dragable Entries
Code Weaver A Proof-of-concept for inserting IL Code into already compiled Assemblies
Parallax Scrolling A simple Demo on how to do fast Parallax Scrolling using pure .NET
XSens MTX Library A Library for accessing XSens MTX AHRS Data from within .NET
GtkGlAreaSharp Demo A Demo on how to use the GtkGlAreaSharp Widget in combination with Tao
CIL Disassembler A simple Disassembler for CIL Code
Expression Solver .NET A port of my originally Java based Expression Solver class
Battery Monitor A simple Tool which shows you the status of your Notebooks Battery in the Taskbar
C# Scripting Engine A simple and robust Scripting Engine for C#
NDocConvert A server based conversion Tool for Office Documents
Genetic Pathfinding A little Demo on how to implement a Genetic Algorithm to do Pathfinding
P/Invoke Microbenchmark A little Microbenchmark i wrote for a Forum to show the different speeds (and ways) of calling a native Library's function on Linux
Turing Machine A very basic Turing machine
Motion Detection A little Demo on how to perform motion detection on a input v4l video stream
Mandelbrot A simplet Mandelbrot Fractal Generator with Zoom Ability

Links to external Pages:

Link Description
msdn.microsoft.com Microsoft Developer Network - Useful resources for the Programming with Microsoft Technologies and/or Operating Systems
www.codeproject.com Useful Snippets of Code for most popular programming languages
www.ondotnet.com O'Reilly's Page on DotNet
www.mycsharp.de German C# and .NET Community.
www.theserverside.net Latest news on .NET in the Enterprise Environment
www.gotdotnet.com Microsoft's .NET Community
www.dotnet247.com Extensive Class Documentation
www.go-mono.com Main Page for the Mono Project, a free and open-source implementation of .NET
www.gotmono.com The Community Page for the Mono Project
www.pinvoke.net The Reference for Win32 API Calls from within .NET using Interop Services

Links to Software Tools i found useful:

Link Description
www.dependencywalker.com A Tool for retrieving the Dependencys of PE Files. Also shows all exported Symbols of a DLL
www.aisto.com/roeder/dotnet Lutz Roeder's Reflector and Resourcer, two useful tools for inspecting .NET Assemblys and Resources
www.sliver.com/dotnet/SnippetCompiler A simple tool for testing out Code Snippets in C#
regex.osherove.com A Tool for analyzing Regular Expressions
manoli.net/csharpformat A little Tool for formatting C# Code - used in my Snippets above
www.jetbrains.com/resharper A professional Add-On to Visual Studio 2003/05 for Refactoring, Instant error checking and much, much more
www.jetbrains.com/profiler A professional Profiler for CIL Code
www.altova.com A nice XML Editor
nsis.sourceforge.net The installer i prefer for deploying my Applications
madebits.com/netz A compressor for .NET Executables

Books i found useful during my study time:





About me
1 1