ThorstenHans - dotnet-forum.de Knowledge Base http://dotnet-forum.de/KnowledgeBase/writers/ThorstenHans.aspx VB-Magazin KnowledgeCenter - http://www.vb-magazin.de de-de VB-Magazin KnowledgeCenter Partielle Methoden <P>Viele Neuerungen von C# 3.0 wurden bereits hier vorgestellt, allerdings wurden die partiellen Methoden noch nicht erläutert, die möchte ich jetzt anhand dieses kleinen Artikels tun.</P> <P>Nun was sind "partielle" Methoden? Fangen wir zunächst mal eine Ebene höher an, dass wären demnach partielle Klassen, jeder Programmierer der bereits mit dem .Net Framework 2.0 programmiert hat kennt diese, auch wenn ihm dies nicht bewusst ist.</P> <P>Eine partielle Klasse ist eigentlich eine ganz normale Klasse, die jedoch räumlich getrennt ist. Was das genau heißt möchte ich anhand der folgenden 2 kleinen CodeSnippets erklären</P> <P>Zunächst haben wir den Inhalt der Datei Customer.cs</P> <DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; ... c8ca61d1-d0ff-4f00-a44a-76d814ee283e:323 0 Thu, 31 Jul 2008 22:31:03 GMT http://dotnet-forum.de/KnowledgeBase/articles/2008/07/31/323-partielle-methoden.aspx ThorstenHans http://dotnet-forum.de/KnowledgeBase/articles/2008/07/31/323-partielle-methoden.aspx Sprachspezifisch C# Anonyme Typen <P>Anonyme Typen sind eine weitere Neuerung in C# 3.0 und VB 9.0 die ich hier vorstellen möchte.</P> <H3>Was sind anonyme Typen</H3> <P>Ein anonymer Typ ist ein Typ der verwendet werden kann, ohne dass dieser explizit definiert wurde. Das heißt man kann eine Instanz einer Klasse erstellen ohne die Klasse selbst zu entwicklen.</P> <P>Anonyme Typen haben mit LINQ einzug in das .Net Framework gehalten. Daher werden Anonyme Typen auch meistens für LINQ verwendet. Natürlich können Anonyme Typen jederzeit und unabhängig von LINQ benutzt werden, ob dies sinnvoll ist wird später in diesem Artikel noch genauer erläutert.</P> <H3>Der Syntax von Anonymen Typen</H3> <P>Einen eigenen Anonymen Typ zu definieren ist sehr simpel. Das nachfolgende Snippet veranschaulicht dies anhand eines einfachen Be ... c8ca61d1-d0ff-4f00-a44a-76d814ee283e:318 0 Tue, 29 Jul 2008 12:45:18 GMT http://dotnet-forum.de/KnowledgeBase/articles/2008/07/29/318-anonyme-typen.aspx ThorstenHans http://dotnet-forum.de/KnowledgeBase/articles/2008/07/29/318-anonyme-typen.aspx Tutorials C# Custom Toolstrip Control <p> In diesem Tutorial wird ein CustomToolStripItem geschrieben, mit dessen Hilfe ein DateTimePicker in einem ToolStrip angezeigt werden kann. Um dieses Tutorial zu realisieren wird folgendes benötigt </p> <br> <ul> <li>Visual Studio 2005 (oder eine vergleichbare IDE) <li>Microsoft .Net Framework 2.0</li></ul> <p> <br> </p> <h2> Realisierung</h2> <p> <br> Objekt Struktur <br> Damit CustomControls in einem ToolStrip oder einem MenuStrip verwendet werden können, müssen Sie von einem bestehenden ToolStripItem oder dem ToolStripControlHost erben.</p> <p> <br> Exemplarische Realisierung <br> Hier wird nun ... c8ca61d1-d0ff-4f00-a44a-76d814ee283e:314 0 Tue, 22 Jul 2008 20:00:07 GMT http://dotnet-forum.de/KnowledgeBase/articles/2008/07/22/314-custom-toolstrip-control.aspx ThorstenHans http://dotnet-forum.de/KnowledgeBase/articles/2008/07/22/314-custom-toolstrip-control.aspx Cliententwicklung C# C# 3.0 Feature: Automatic Properties <p>Ebenfalls neu im .Net Framework 3.5 sind Automatic Properties. Jeder .Net Entwickler kenn die gew&#246;hnlichen Properties die ein jeder schon hunderte male runtergeschrieben hat. Jedes mal geht viel Zeit verloren bei der Klassenimplementierung weil man f&#252;r alle Properties noch private Felder deklarieren muss und diese entsprechend in den Gettern und Settern der Propertoes zur&#252;ckgeben bzw. setzen muss.</p> <p>&#160;</p> <p>Als Ausgangspunkt nehmen wir die folgende einfache Klasse Person.</p> <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding ... c8ca61d1-d0ff-4f00-a44a-76d814ee283e:313 0 Wed, 16 Jul 2008 17:21:29 GMT http://dotnet-forum.de/KnowledgeBase/articles/2008/07/16/313-c-3-0-feature-automatic-properties.aspx ThorstenHans http://dotnet-forum.de/KnowledgeBase/articles/2008/07/16/313-c-3-0-feature-automatic-properties.aspx C# 3.0 Extension Methods <P>Als erste Neuerung möchte ich die Extension Methods vorstellen. Mit C# 3.0 wurde die Möglichkeit geschaffen vorhandene Typen zu erweitern, ohne eine abgeleitete Klasse zu implementieren oder den ursprünglichen Typ erneut kompilieren zu müssen.</P> <P>&nbsp;</P> <P>Die Sinnigkeit von Extension Methods möchte ich nun an 2 kleinen Beispielen erläutern, sicherlich hat ein jeder C# Programmierer das folgende Szenario erlebt:</P> <P>Gegeben ist ein String mit dem Wert "1", um den String nun in ein Integer zu konvertieren konnte man auf Hilfsklassen wie Convert zurückgreifen oder auch die Methode int.Parse(); verwenden, es wäre jedoch wünschenswert wenn man einfach auf der Klasse String die Methode ToInt() hätte. Genau hier greifen die neuen Extension Methods. Nachfolgend findet ihr ein Cod ... c8ca61d1-d0ff-4f00-a44a-76d814ee283e:311 0 Tue, 15 Jul 2008 14:32:22 GMT http://dotnet-forum.de/KnowledgeBase/articles/2008/07/15/311-c-3-0-extension-methods.aspx ThorstenHans http://dotnet-forum.de/KnowledgeBase/articles/2008/07/15/311-c-3-0-extension-methods.aspx C# Sprachspezifisch