coding.roecher.de

.net and c#
  • rss
  • Home
  • About
  • Impressum

C# 3.0 – Partial Methoden

mario | 3. February 2008

Partielle Methoden sind Hooks die Klassen Designer bereitstellen. Entwickler können diese gegebenenfalls implementieren. Wird die Methode nicht vom Entwickler implementiert entfernt der Compiler die Signatur. Partielle Methoden müssen folgende Bedingungen erfüllen:

  • Partielle Methoden müssen in partiellen Typen implementiert werden.
  • Die Methode muss void als Rückgabetyp verwenden.
  • Es sind keine Modifizierer oder Attribute zulässig.

Partielle Methoden eignen sich hervorragend für automatisiert erzeugten Code.

Der automatisiert erzeugte Code:

   1:      public partial class Person
   2:      {
   3:          private string firstname;
   4:          public string Firstname
   5:          {
   6:              get { return firstname; }
   7:              set 
   8:              {
   9:                  //Partial Method
  10:                  OnBeforeFirstnameChange(value);
  11:   
  12:                  firstname = value;
  13:                  //Partial Method
  14:                  OnAfterFirstnameChange(firstname);
  15:              }
  16:          }
  17:   
  18:          partial void OnBeforeFirstnameChange(string name);
  19:          partial void OnAfterFirstnameChange(string name);
  20:      }

Wenn wir als Entwickler die beiden Methoden OnBeforeFirstnameChange und OnAfterFirstnameChange nicht gesondert implementieren wird uns der Compiler die Signaturen entfernen. Kontrollieren kann man dies mit einem Reflector wie z.B. mit Lutz Roeder’s Reflector.

clip_image001

Im nächsten Schritt implementieren wir die partielle Methode OnBeforeFirstnameChange.

   1:      public partial class  Person
   2:      {
   3:          partial void OnBeforeFirstnameChange(string name)
   4:          {
   5:              Debug.WriteLine("Firstname: " + name);
   6:          }
   7:      }

Anschließend kompilieren wir den Code erneut und betrachten das Ergebnis im Reflector.

clip_image001[7]

Wie erwartet ist nur die Signatur für die Methode OnAfterFirstnameChange entfernt worden.

Share and Enjoy:
  • Print this article!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogosphere News
  • DotNetKicks
  • LinkedIn
  • Live
  • MisterWong.DE
  • MySpace
  • Turn this article into a PDF!
  • Technorati
  • TwitThis
  • Yahoo! Bookmarks
Categories
.NET, c#
Tags
c# 3.0, Partial Methode
Comments rss
Comments rss
Trackback
Trackback

« C# 3.0 – Extension Methods Multithreading, Static Methods und Locking »

Leave a Reply

Click here to cancel reply.

Me

TechEd 2009 Berlin

Twitter Updates

Twitter Updates

    follow me on Twitter
    Mario Roecher

    Pages

    • About
    • Impressum

    Recent Posts

    • Die Bahn, Verspätungen, Zugausfälle und die Auswirkungen auf mein OpenSource Projekt
    • Visual Studio 2010 Release Candidate und Entity Framework POCO Template aus Beta 2
    • ExpectedException Attribute und MSTest mit AAA Syntax
    • Could not find stored procedure ‘System.Activities.DurableInstancing.CreateLockOwner’.
    • Login failed for user ‘IIS APPPOOL\DefaultAppPool’.

     

    February 2008
    M T W T F S S
    « Nov   Mar »
     123
    45678910
    11121314151617
    18192021222324
    2526272829  

    Tags

    .NET 4.0 .NET Open Space ADO.NET Assembly Bahn c# c# 3.0 Composite Application Composite Application Guidance Composite Applications DNUG EF Expression Extension Methods External Tool IM Control Koblenz Live Translator Messenger MSTest OpenSource Oracle OracleClient Parallel Computing Partial Methode PDC 2008 Prism Public Key Token Rhino Mocks Silverlight sn.exe UGSSK Unit Test Unit Test Framework Unity Application Block Verspätung Visual Studio WCF WF Windows 7 Windows Live Windows Server AppFabric WPF Zugausfall

    Recent Comments

    • mko on Auslesen des PublicKeyToken aus .NET Assemblys
    • Marvin on Auslesen des PublicKeyToken aus .NET Assemblys
    • coding.roecher.de» Juli Treffen der .NET User Group Koblenz on Gestern bei der DNUG in Koblenz
    • mario on Gestern bei der DNUG in Koblenz
    Locations of visitors to this page

    Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
    rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox