Sprachspezifisch - dotnet-forum.de Knowledge Base http://dotnet-forum.de/KnowledgeBase/categories/225-sprachspezifisch.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# 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 Extension Methods (C#3 Spracherweiterung) am Beispiel eines Value Limiters <h3>Was sind Extension Methods?</h3> <p>Mit C# 3 hat Microsoft die Möglichkeit geschaffen, Klassen, Structs und Typen (ist im Prinzip das Gleiche) in anderen Assemblies nachträglich in der Funktionalität zu erweitern. <br />Extensions sind einfach zu schreiben. Man muss dafür nur eine handvoll Regeln beachten.</p> <ul> <li>Alle Extension Methods müssen in einer (oder auch mehreren) <strong>statischen Klasse</strong>(n) stehen (static keyword).</li> <li>Diese Klasse darf <strong>public</strong> oder <strong>internal</strong> sein.</li> <li>Die Extension Methods selber müssen ebenfalls <strong>statisch</strong> sein.</li> <li>Der <strong>erste Parameter</strong> einer Extension Method muss der <strong>Typ</strong> sein, <strong>der erweitert werden soll</strong>. Dieser Parame ... c8ca61d1-d0ff-4f00-a44a-76d814ee283e:305 3 Tue, 01 Jul 2008 15:08:58 GMT http://dotnet-forum.de/KnowledgeBase/articles/2008/07/01/305-extension-methods-c-3-spracherweiterung-am-beispiel-eines-value-limiters.aspx Rainer Hilmer http://dotnet-forum.de/KnowledgeBase/articles/2008/07/01/305-extension-methods-c-3-spracherweiterung-am-beispiel-eines-value-limiters.aspx Sprachspezifisch C#