Search

Archiv

Suche

Liste

Blog - Christian Wirth

Jul 27

Written by: Christian Wirth
27.07.2009 19:26 

Extension Methods ermöglichen ein etwas seltsames Szenario:

Man kann auf NULL eine Methode aufrufen ohne dass dies einen NULL Pointer provoziert. Die Erklärung ist einfach: Für den Complier ist eine Extension nur eine statische Methode, welcher das Objekt als Parameter übergeben wird.
Dass man diese Methode direkt auf dem Objekt aufrufen kann ist nur "syntactic sugar" wie man so schön sagt.

Sauber finde ich es nicht. NULL ist nichts und Nichts hat keine Methoden.

Trotzdem habe ich eine kleine Extension geschrieben, welche diesen Umstand ausnutzt und die einfach praktisch ist:

   1:          public static string ToStringNullCheck(this object pObject)
   2:          {
   3:              return pObject == null ? string.Empty : pObject.ToString();
   4:          }


Man erhält den ToString() wenn das Objekt nicht null ist, ansonsten einen leeren String :)

Tags:

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment   Cancel 
Copyright 2007
Datenschutzerkläung   |   Nutzungsbedingungen