Forum: Programmieren allgemein
by Phoenix,
19. Jan 2009
Das 'this' Keyword bei den C# Extension Methods sorgt dafür, dass man diese Methode auf allen Objekten aufrufen kann, die vom Typ des 'this'-Parameters (oder deren Ableitungen) sind.
Man muss dann nur noch die weiteren Parameter angeben.
Das hier ist meine Parade-Extension Method:
namespace smartDev.Extensions
{
public static class StringExtender
{
public static Boolean...
Forum: Programmieren allgemein
by Phoenix,
19. Jan 2009
Äh, die Extension Methods die ich gezeigt hab sind genau das.
Forum: Programmieren allgemein
by Phoenix,
19. Jan 2009
Das ist ordentlicher Code :)
Es gibt eben Dinge, die gehen ned anders. Es gibt eben leider kein ISocket Interface. Damit liesse sich sowas mittels Interface Delegation und Prism in ein paar Zeilen sehr elegant lösen. Aber Extension Methods sind durchaus legitim.
Forum: Programmieren allgemein
by Phoenix,
19. Jan 2009
Du kannst Extension Methods dazu 'mißbrauchen'.
Grundidee:
public static class ValueHolder
{
private static Dictionary<Object, String> _Values = new Dictionary<Object, String>();
public static void SetValue(this Object obj, String value)
{
Forum: Programmieren allgemein
by Phoenix,
19. Jan 2009
Na, wenn Du einen Socket zurückgibst, musst Du auch einen Socket als Variable deklarieren:
SocketEx server = new SocketEx(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Socket tmp = server.Accept();