Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Coding Styles Horror
userid14268
myCSharp.de - Member



Dabei seit:
Beiträge: 1620

beantworten | zitieren | melden

Also gegen ein enum Yes|No hätte ich nichts, nur die Namensgebung YesNoEnum ist der wirkliche Coding Horror
private Nachricht | Beiträge des Benutzers
edsplash
myCSharp.de - Member

Avatar #avatar-3111.jpg


Dabei seit:
Beiträge: 411

beantworten | zitieren | melden

[offtopic]
Yes|No macht darum keinen Sinn, da es genau dasselbe ist wie true|false. In einer eigenen Klassenbibliothek mag das vielleicht Sinn machen. Sobald man aber auf FW Komponenten zurückgreifen muss oder mehrere Yes|No Ausdrücke verknüpfen möchte, muss man diese wieder in bool konvertieren.
[/offtopic]
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von edsplash am .
using Skill
private Nachricht | Beiträge des Benutzers

Moderationshinweis von gfoidl (07.11.2010 - 13:50:30):

Die Sinnhaftigkeit davon bitte in diesem Thread nicht weiter diskutieren.

Floste
myCSharp.de - Member

Avatar #avatar-2376.jpg


Dabei seit:
Beiträge: 1158
Herkunft: Norddeutschland

beantworten | zitieren | melden

Passt zwar nur so halb hier rein, aber was der c#-compiler so verzapft wenn man folgendes compiliert, ist eindeutig coding styles horror auf msil ebene!


object obj=....
if(obj is string)
{
    //mach was
}

Daraus wird folgender code:

        L_000e: ldloc.0 
        L_000f: isinst string
        L_0014: ldnull 
        L_0015: cgt.un 
        L_0017: ldc.i4.0 
        L_0018: ceq 
        L_001a: stloc.1 
        L_001b: ldloc.1 
        L_001c: brtrue.s L_0039
....
Wenn man den ilcode mal exakt rückübersetzen würde:


object obj=....
bool helper=((obj as string)>null)==false;
IfTrue(helper)goto endif; //brtrue
//mach was
endif:;

man beachte, das es auchnoch einen befehl brfalse gibt und die befehle brtrue und brfalse auch direkt auf verweistypen angewendet werden können (wie in c++)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Floste am .
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 3138

beantworten | zitieren | melden

Zitat von Floste
aber was der c#-compiler so verzapft wenn man folgendes compiliert, ist eindeutig coding styles horror auf msil ebene!
Bitte das Ganze nochmal als Release kompilieren und dann nochmal gucken.
private Nachricht | Beiträge des Benutzers
Floste
myCSharp.de - Member

Avatar #avatar-2376.jpg


Dabei seit:
Beiträge: 1158
Herkunft: Norddeutschland

beantworten | zitieren | melden

o.O der ganze überflüssige mist wurde wegoptimiert im release modus und jetzt steht nurnoch isinst gefolgt von brfalse dort
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Floste am .
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 3138

beantworten | zitieren | melden

Tja. An Debuginformationen kommt man halt nicht umsonst.
private Nachricht | Beiträge des Benutzers
aequitas
myCSharp.de - Member

Avatar #avatar-3079.png


Dabei seit:
Beiträge: 517
Herkunft: Unterfranken

beantworten | zitieren | melden

Soeben in einem unserer Projekte gefunden:


   int intCounter = 0;

   if (this.MyList.Count > 0)
   {
       foreach (List<string> lstr in this.MyList)
       {
            intCounter++;
       }
   }

   MyOtherList.Add(intCounter.ToString());

Glaube das ganze laeuft unter Performance-Enhancement-Loop.
be the hammer, not the nail!
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

Man nehme C code:

SMCR = (SMCR & 0xf0) | 1 << SE | read_uint8_t(&atm128PowerBits[powerState]);
Jage ihn durch den nesC compiler, der daraus wieder C code generiert und bekommt:

  * (volatile uint8_t *)(0x33 + 0x20) = ((
  * (volatile uint8_t *)(0x33 + 0x20) & 0xf0) | (1 << 0)) | __extension__ ({
#line 133
    uint16_t __addr16 = (uint16_t )(uint16_t )&McuSleepC__atm128PowerBits[powerState];
#line 133
    uint8_t __result;

#line 133
     __asm ("lpm""\n\t""mov %0, r0""\n\t" : "=r"(__result) : "z"(__addr16) : "r0");__result;
  }
  );
Thats magic =)

P.s.
Wer mir erklären kann was der Teil hinter __extension__ macht. Also generell so ein compound statement nicht der exakte code aus dem Beispie, der möge mir eine pn schrieben.

Ich vermute: Führt alles aus und gibt das letzte Statement zurück. Hängt das mit dem __extension__ keyword zusammen?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Tarion am .
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

beantworten | zitieren | melden

Hallo zusammen,

gerade eben in einem .NET-Blog von einem Microsoft MVP gefunden:

public static bool HasFile(this HttpPostedFileBase file)
{
  return (file != null && file.ContentLength > 0) ? true : false;
}
Was ist falsch daran? s. [Tipp] Anfängerfehler == true / == false.

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
zero_x
myCSharp.de - Member

Avatar #avatar-2567.gif


Dabei seit:
Beiträge: 1069
Herkunft: Koblenz

beantworten | zitieren | melden

Hallo m0rius,

ich finde das ganz okay - da gibt es für mich keine Einwände. Warum ist das für dich ein "Coding Style Horror"? In meinen Augen ist das völlig akzeptabel, insbesondere wenn man LINQ verwendet.

zero_x
zero_x | myCSharp.de - gemeinsam mehr erreichen

Für längere Zeit inaktiv.
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7547
Herkunft: Waidring

beantworten | zitieren | melden

Hallo,

da der auszuwertende Ausdruck nur true/false sein kann ist der Rest überflüssig.

mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Xander
myCSharp.de - Member

Avatar #avatar-3215.jpg


Dabei seit:
Beiträge: 54
Herkunft: Sonneberg

beantworten | zitieren | melden

Da möcht ich jetzt auch mal was zu beitragen. Folgendes ist ein Schnipsel aus einem Projekt das ich um ein paar Funktionen erweitern darf. ich bin grad dabei zu versuchen zu verstehen was mein Vorgänger wo und wie gemacht hat und versuch gleich mal zu benutzen was ich gestern dank gfoidl über CCD gelesen hab.

    
private void InitializePortData()
    {
      // Zähler
      int i;
      // Namen
      string[] PortNames = SerialPort.GetPortNames();
      // Index
      int CurIndex = -1;

      // Portnamen setzen
      for( i = 0; i < PortNames.Length; i++ )
      {
        // Index
        int Index = this.PortNameCmbBox.Items.Add(PortNames[i]);

        if (PortNames[i] == this.SrPort.PortName)
          CurIndex = Index;
      }

      if (this.PortNameCmbBox.Items.Count > 0 &&
        CurIndex ≥ 0 && CurIndex < this.PortNameCmbBox.Items.Count)
      {
        this.PortNameCmbBox.SelectedIndex = CurIndex;
      }
...
}
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Xander am .
private Nachricht | Beiträge des Benutzers
aequitas
myCSharp.de - Member

Avatar #avatar-3079.png


Dabei seit:
Beiträge: 517
Herkunft: Unterfranken

beantworten | zitieren | melden

Koennte man schoener machen, aber wo ist der Horror?
Bin ich blind?
be the hammer, not the nail!
private Nachricht | Beiträge des Benutzers
Xander
myCSharp.de - Member

Avatar #avatar-3215.jpg


Dabei seit:
Beiträge: 54
Herkunft: Sonneberg

beantworten | zitieren | melden

Naja für jemand der beim lesen fremden Codes noch nicht so geübt ist kann das schon beängstigend sein. Das wiederholt sich so 10mal mit einigen Änderungen für jede ComboBox.

ok nächstes mal such ich nach was besonders gruseligerem :P
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Xander am .
private Nachricht | Beiträge des Benutzers
mo#
myCSharp.de - Member

Avatar #avatar-3131.jpg


Dabei seit:
Beiträge: 191
Herkunft: Baden

beantworten | zitieren | melden

Ich kann endlich auch mal was zu dem Thread beitragen:

 public MyServerClass(Form window)
        {
            RichTextBox rtb = (RichTextBox) window.Controls["rtbMessages"];
            try
            {
                Uri uri1 = new Uri(window.Controls["txtAddressField1"].Text);
            }
[...]

Zum Hintergrund: Server-Klasse nimmt Config-Parameter von einer WinForms-Test Anwendung.
Das schöne ist nun, MyServerClass liegt in einer DLL und alle Entwickler welche diese benutzt haben, haben ohne murren ihre Parameter in eine Form gepackt und dann weitergereicht m(
private Nachricht | Beiträge des Benutzers
xxMUROxx
myCSharp.de - Member

Avatar #avatar-3236.jpg


Dabei seit:
Beiträge: 1626
Herkunft: Südtirol/Italien

beantworten | zitieren | melden

Soeben hier im Forum:


if (e.KeyData == Keys.A)
    {
        sw.Write("A");
    }

    else if (e.KeyData == Keys.B)
    {
        sw.Write("B");
    }
    [....]
else if (e.KeyData == Keys.Z)
    {
        sw.Write("Z");
    }
Da hat sich aber einer eine Mühe gemacht

Gruß,
Michael
Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp
private Nachricht | Beiträge des Benutzers
der_alex1980
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

Ebenfalls aus dem Forum:

public string SendCommand(string strCommand)
        {
            UdpClient client = new UdpClient();
            IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(m_strGameServerIP), m_iGameServerPort);
            var result1 = string.Empty;
            var result2 = string.Empty;
            bool sent = false;
            bool DoubleTrame = false;
            Byte[] bufferTemp = Encoding.ASCII.GetBytes(m_strPassword + " " + strCommand);
            Byte[] bufferSend = new Byte[bufferTemp.Length + 5];
            Byte[] bufferRec;
            Byte[] bufferRec2;

            bufferSend[0] = Byte.Parse("255");
            bufferSend[1] = Byte.Parse("255");
            bufferSend[2] = Byte.Parse("255");
            bufferSend[3] = Byte.Parse("255");
            bufferSend[4] = Byte.Parse("00");

            for (int i = 0; i < bufferTemp.Length; i++)
            {
                bufferSend[i + 5] = bufferTemp[i];
            }

            while (!sent)
            {
                client.Send(bufferSend, bufferSend.Length, ipe);
                Thread.Sleep(200);
                if (client.Available > 0)
                {
                    sent = true;
                    if (client.Available > 1200)
                    {
                        DoubleTrame = true;
                    }
                }
            }
            bufferRec = client.Receive(ref ipe);
            if (DoubleTrame)
            {
                bufferRec2 = client.Receive(ref ipe);
                result2 = Encoding.ASCII.GetString(bufferRec2);
                if (result2.Contains("\n\n"))
                {
                    result2 = result2.Remove(result2.IndexOf("\n\n"));
                }
                result2 = result2.Substring(12);
            }
            result1 = Encoding.ASCII.GetString(bufferRec);
            string strResponse = result1 + result2;
            return strResponse;
        }

Mal abgesehen von der seltsamen Logik, finde ich die vor allem die Initialisierung des Arrays wunderschön

            
Byte[] bufferSend = new Byte[bufferTemp.Length + 5];
...
bufferSend[0] = Byte.Parse("255");
bufferSend[1] = Byte.Parse("255");
bufferSend[2] = Byte.Parse("255");
bufferSend[3] = Byte.Parse("255");
bufferSend[4] = Byte.Parse("00");
private Nachricht | Beiträge des Benutzers
Lennart
myCSharp.de - Member



Dabei seit:
Beiträge: 429
Herkunft: Bawü

beantworten | zitieren | melden

Timer in VB:
duration = Timer + siBreak ' Warten
    
Do Until Timer > duration
   DoEvents
Loop

Definition von Timer:
Property Timer As Single
schreibgeschützt
Mitglied von VBA.DateTime
Gibt die Anzahl der Sekunden zurück, die seit Mitternacht verstrichen sind
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7547
Herkunft: Waidring

beantworten | zitieren | melden

Hallo,

Quizfrage: Was macht der Code?*


                StreamGeometry geometry = new StreamGeometry();
                using (StreamGeometryContext sgc = geometry.Open())
                {
                    //Top->Bottom
                    sgc.BeginFigure(new Point((ellipseWheel.Width / 2), 0), false, false);
                    sgc.LineTo(new Point(ellipseWheel.Width / 2, ellipseWheel.Height), true, false);
                    //Left->Right
                    sgc.BeginFigure(new Point(0, (ellipseWheel.Height / 2)), false, false);
                    sgc.LineTo(new Point(ellipseWheel.Width, (ellipseWheel.Height / 2)), true, false);
                    //Left_Top_Center->Right_Bottom_Center
                    sgc.BeginFigure(new Point(ellipseWheel.Height / 2 + Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2)), ellipseWheel.Height / 2 + Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2))), false, false);
                    sgc.LineTo(new Point((ellipseWheel.Height / 2) - Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2)), (ellipseWheel.Height / 2) - Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2))), true, false);
                    //Left_Bottom_Center->Right_Top_Center
                    sgc.BeginFigure(new Point(ellipseWheel.Height / 2 - Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2)), ellipseWheel.Height / 2 + Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2))), false, false);
                    sgc.LineTo(new Point(ellipseWheel.Height / 2 + Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2)), (ellipseWheel.Height / 2) - Math.Sqrt(((ellipseWheel.Height / 2) * (ellipseWheel.Height / 2) / 2))), true, false);
                    //Left_Top_Bottom->Right_Bottom_Top
                    sgc.BeginFigure(new Point((ellipseWheel.Height / 2) - (Math.Cos(22.5 * Math.PI/180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) - (Math.Sin(22.5 * Math.PI/180) * (ellipseWheel.Height / 2))), false, false);
                    sgc.LineTo(new Point((ellipseWheel.Height / 2) + (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) + (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), true, false);
                    //Right_Top_Bottom->Left_Bottom_Top
                    sgc.BeginFigure(new Point((ellipseWheel.Height / 2) + (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) - (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), false, false);
                    sgc.LineTo(new Point((ellipseWheel.Height / 2) - (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) + (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), true, false);
                    //Left_Top_Top->Right_Bottom_Bottom
                    sgc.BeginFigure(new Point((ellipseWheel.Height / 2) - (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) - (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), false, false);
                    sgc.LineTo(new Point((ellipseWheel.Height / 2) + (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) + (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), true, false);
                    //Right_Top_Top->Left_Bottom_Bottom
                    sgc.BeginFigure(new Point((ellipseWheel.Height / 2) + (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) - (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), false, false);
                    sgc.LineTo(new Point((ellipseWheel.Height / 2) - (Math.Sin(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2)), (ellipseWheel.Height / 2) + (Math.Cos(22.5 * Math.PI / 180) * (ellipseWheel.Height / 2))), true, false);
                }


mfG Gü

* ist natürlich nur eine rhetorische Frage da ich sonst gegen [Hinweis] Wie poste ich richtig? 4.c verstoßen würde ;-)
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Aratar
myCSharp.de - Member



Dabei seit:
Beiträge: 126

beantworten | zitieren | melden

Den hab ich selbst hingekriegt und zuerst nicht mal gemerkt. X( 8o




           
for (int i = 1; i < this.Fitness.Length;i++)
{
      double cost = double.MaxValue;
      if (Fitness[i] < cost)
      {
           cost = Fitness[i];              
      }
}

cost gehört natürlich nicht in die schleife...
private Nachricht | Beiträge des Benutzers
tkrasinger
myCSharp.de - Member



Dabei seit:
Beiträge: 582
Herkunft: Enzesfeld (Niederösterreich)

beantworten | zitieren | melden

int monthOffset = DateTime.Now.Month % 3;
DateTime vonDatum = new DateTime(DateTime.Now.Year, DateTime.Now.Month - monthOffset - 2, 1);
DateTime bisDatum = vonDatum.AddMonths(2);
bisDatum = bisDatum.AddDays(DateTime.DaysInMonth(bisDatum.Year, bisDatum.Month) - 1);

Auch wenn mans nicht glauben mag, aber dieser Code sollte den Quartalsbeginn und das dazugehörige Quartalsende ermitteln. Bis Dezember hat niemand das Ergebnis kontrolliert, heute hab ich zum ersten mal in diesem Jahr diesen Code aufgerufen ...
private Nachricht | Beiträge des Benutzers
xxMUROxx
myCSharp.de - Member

Avatar #avatar-3236.jpg


Dabei seit:
Beiträge: 1626
Herkunft: Südtirol/Italien

beantworten | zitieren | melden

Moderationshinweis von herbivore (15.01.2011 - 21:53:28):

Beitrag hierher verschoben.


Hallo Leute,

heute musste ich mich mal wieder demütigen und habe mich UNI-Projekt-bedingt in Java vertieft.

Was ich da als einen FAIL sehe sehen Java-Entwickler wahrscheinlich als normal. Mann beachte:


String s = null;
s+="hallo";
System.out.println(s);
Nun ratet mal was der Code druckt?
Er druckt tatsächlich "nullhallo".
Nun dachte ich mir: Na gut vergleiche ich mal Strings:


"nullhallo".equals(s)
gibt false. Nun nach Inspektion aller chars bin ich draufgekommen dass der String mit dem null am Ende noch 4 leere chars hat. Ich kann dazu nur eins sagen WTF, und Gott sei dank ist Samstag Abend und man kann jetzt sofort abtanzen gehen.

Gruß
Michael
Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp
private Nachricht | Beiträge des Benutzers
bonzy
myCSharp.de - Member

Avatar #avatar-2941.jpg


Dabei seit:
Beiträge: 160

beantworten | zitieren | melden

Ich bin schon länger mit C# vertraut, aber das mir das nochmal passiert. :)

        public override int GetHashCode()
        {
            return 0;
        }

Das Hinzufügen mit Abfrage auf ContainsKey für über 30k Dictionary-Elemente hat mich Minuten gekostet. :D
private Nachricht | Beiträge des Benutzers
bonzy
myCSharp.de - Member

Avatar #avatar-2941.jpg


Dabei seit:
Beiträge: 160

beantworten | zitieren | melden

Gerade bin ich wieder auf ein kleines Schmankerl gestoßen:


            if (this.cbxSuggestionList.SelectedIndex != -1)
            {
                this.cbxSuggestionList.SelectedIndex = -1;
            }

            if (this.cbxSuggestionList.SelectedIndex == -1 || this.cbxSuggestionList.DroppedDown)
            ...
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden


public new void Foo()
{
  BaseClass.Foo();
}
Inso
myCSharp.de - Member



Dabei seit:
Beiträge: 19

beantworten | zitieren | melden

Zitat von bonzy
Gerade bin ich wieder auf ein kleines Schmankerl gestoßen:


            if (this.cbxSuggestionList.SelectedIndex != -1)
            {
                this.cbxSuggestionList.SelectedIndex = -1;
            }

            if (this.cbxSuggestionList.SelectedIndex == -1 || this.cbxSuggestionList.DroppedDown)
            ...

Da bin ich einfach immer froh, dass ich den ReSharper habe.
Solche kleinen Dümmlichkeiten können halt mal passieren, aber werden vom ReSharper sofort entdeckt und angezeigt.

Hab letztens in altem Code genau solche Passagen auch gefunden (gleich mehrere) und sie schleunigst beseitigt.
private Nachricht | Beiträge des Benutzers
Floste
myCSharp.de - Member

Avatar #avatar-2376.jpg


Dabei seit:
Beiträge: 1158
Herkunft: Norddeutschland

beantworten | zitieren | melden

Zitat

public new void Foo()
{
  BaseClass.Foo();
}

Irgendwie kommt mir das bekannt vor:

Code aus der klasse System.Exception aus mscorlib.dll:


public Type GetType()
{
    return base.GetType();
}
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

Das klingt jetzt komisch aber es macht sinn, weil es ein interface für die Exception gibt, welches COM visible ist und welches die benannte Methode vorschreibt. daher muss die Klasse Exception diese Methode implementieren, damit nicht .NET COM Bibliotheken an den Type kommen können.
Somakia
myCSharp.de - Member



Dabei seit:
Beiträge: 288
Herkunft: Hessen

beantworten | zitieren | melden

ich schäme mich dafür, dass mir das passiert ist, aber vorenthalten möcht ichs euch nicht ^^

myString = myString.Trim(" ".ToCharArray());
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

beantworten | zitieren | melden

Hallo zusammen,

hier ein Horror von James Michael Hare, gerade auf Twitter gesehen:
Zitat von @BlkRabbitCoder
Saw most awesome useless piece of legacy code at work in loop: if (strWebId == strSearchId) { bool bFound = true; bFound = false; } #WTF???

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers