Eweiterungsmethode welche null als "this" akzeptiert

10/11/2008 - 14:47 von Markus Springweiler | Report spam
Hallo,

ich habe letztens 2 Mini-Erweiterungsmethoden geschrieben, welche explizit
null als Eingangsparameter (="this") erlauben:

public static IEnumerable<T> EmptyIfNull<T>(this IEnumerable<T> source)
{
return source ?? Enumerable.Empty<T>();
}

public static void Raise(this PropertyChangedEventHandler eventHandler, object sender, string propertyName)
{
if ( eventHandler != null )
eventHandler(sender, new PropertyChangedEventArgs(propertyName));
}

Jetzt ist die Frage: Wie schlecht ist diese Idee? Wird mich das irgendwann
negativ einholen? Warum?

/\/\arkus.
 

Lesen sie die antworten

#1 Frank Dzaebel
10/11/2008 - 21:26 | Warnen spam
Hallo Markus,

public static IEnumerable<T> EmptyIfNull<T>(
this IEnumerable<T> source)
{ return source ?? Enumerable.Empty<T>();
}
[...]Jetzt ist die Frage: Wie schlecht ist diese Idee?



Ist schon ok. Letztlich ja u.a. "syntaktischen Zucker".

Trotzdem dazu vielleicht ein, zwei Gedanken:
In Hoch-Performanz-Szenarien z.T. zu überdenken.
Weiterhin sollen nicht zu viele statische öffentliche
Methoden erstellt werden (u.a. initiale Ladezeiten).
Normal sollte der Anwendbarkeits-Scope möglichst
eng gehalten werden. Hier ist das überall nutzbar,
was im Kontext auch genau richtig sein kann.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen