AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Typecasting in C#

Ein Thema von Neutral General · begonnen am 18. Jan 2009 · letzter Beitrag vom 19. Jan 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#11

Re: Typecasting in C#

  Alt 19. Jan 2009, 13:35
Zitat von Neutral General:
Ich weiß, dass es der falsche Weg wäre. Aber ich will im Prinzip der Socketklasse nur (im Moment) eine weitere Variable hinzufügen.
Du kannst Extension Methods dazu 'mißbrauchen'.

Grundidee:
Code:
public static class ValueHolder
{
   private static Dictionary<Object, String> _Values = new Dictionary<Object, String>();

   public static void SetValue(this Object obj, String value)
   {
      _Values.Add(obj, value);
   }

   public static String GetValue(this Object obj)
   {
      return _Values[obj];
   }

}
Das heisst Du hast zwei Extension Methods (getter und setter) und speicherst die Daten in einem Object-Value dictionary. Das Objekt selber nimmst Du als Schlüssel her. Somit geht das nicht nur auf dem Socket, sondern auf jedem beliebigen anderen Objekt auch.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: Typecasting in C#

  Alt 19. Jan 2009, 20:06
Hi,

Naja danke für den Code und den Ansatz, aber ich will in meinem Programm nicht zu rummurksen

Der Code muss schon ordentlich werden. Ich muss mal gucken....
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#13

Re: Typecasting in C#

  Alt 19. Jan 2009, 20:14
Zitat von Neutral General:
Naja danke für den Code und den Ansatz, aber ich will in meinem Programm nicht zu rummurksen
Der Code muss schon ordentlich werden.
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#14

Re: Typecasting in C#

  Alt 19. Jan 2009, 20:41
Zitat von Phoenix:
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.
Ja, schon, aber du verhinderst mit deinem Code effektiv die GC. Sowas müsste man auf deinem Weg dann über eine Map int -> List<Pair<WeakRef, String>> für Hashcode -> Zeugs machen.. Sonst ist das nicht ordentlich.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Typecasting in C#

  Alt 19. Jan 2009, 22:21
Gibts in C# keine Class Helper?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

Re: Typecasting in C#

  Alt 19. Jan 2009, 22:26
Zitat von alzaimar:
Gibts in C# keine Class Helper?
Das hab ich mir auch schonmal gedacht -.-^^

Aber Class Helper können ja (leider) auch keine neuen Properties einführen
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#17

Re: Typecasting in C#

  Alt 19. Jan 2009, 22:27
Zitat von alzaimar:
Gibts in C# keine Class Helper?
Äh, die Extension Methods die ich gezeigt hab sind genau das.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

Re: Typecasting in C#

  Alt 19. Jan 2009, 22:33
Mh.. Naja...

Aber "echte" Classhelper sind das nicht oder? Aufgerufen wird das ganze ja wie ich das sehe durch:

Code:
ValueHolder.SetValue(ASocket,"Value");
ooder?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: Typecasting in C#

  Alt 19. Jan 2009, 22:39
Oh, dann eine Decorator, den Du erweiterst (weiss nicht, wie das dann heißt). Was anderes fällt mir nicht ein.

Eine Socke(t) nun mal kein Kniestrumpf. Dazu ist er zu kurz.

@Phoenix: Dann hab ich das nicht kapiert.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#20

Re: Typecasting in C#

  Alt 19. Jan 2009, 22:54
Zitat von Neutral General:
Aber "echte" Classhelper sind das nicht oder? Aufgerufen wird das ganze ja wie ich das sehe durch:

Code:
ValueHolder.SetValue(ASocket,"Value");
ooder?
Nein.
Code:
ASocket.SetValue("Value");
C#3+ vorrausgesetzt, natürlich.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz