Suchergebnisse

Suchergebnisse 1-19 von insgesamt 19.

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Basierend auf der Idee von @picoflop mit seiner NTHLibrary, hier eine, die ich derzeit entwickle. NTH-Library Ziel dieser Library ist es, kleine, aber oft notwendige Funktionen, die nicht im .NET Framework enthalten sind, nachzurüsten. Dabei handelt es sich nicht nur um Extension Methods, sondern auch im ganze Klassen. Welche da u. A. zusammen kommen, kannst du bei den Samples sehen. Das NTH steht für Nice-To-Have. Diese NTH-Library ist vorerst unabhängig vom UI (WinForms, WPF), um so wenig Abhä…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Das ist vielleicht falsch rübergekommen: Ziel bei der MathEx-Klasse (sowie dem Rest der Library) ist nicht Optimierung, sondern, dass man übersichtlicheren Code schreiben kann... oder dass man bei jeder kleinen Funktion nicht immer das Rad neu zusammenschrauben muss. So ist C#-Quellcode (1 Zeile)übersichtlicher als C#-Quellcode (1 Zeile) (z. B.)

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ist nun drinne: github.com/nikeee/nth/commit/c…242d5cbbfd84c50e8ca90697a

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Zitat von nafets3646: „Managed Versionen der wichtigsten WinAPI Methoden (2-Stufen-Wrapper: WinAPI -> Manager Klassen -> Vereinfachte Version mit Framework-Klassen), ist aber wahrscheinlich ein riesen Aufwand.“ Gibt es da bestimmte Funktionen an die du da denkst? Ich hätte noch eine Hotkey-Klasse rumliegen. Die passt nur nicht in diese Library, die würde eher in eine NTH.Windows.Forms kommen. Zitat von nafets3646: „Erweiterungen für den System.Drawing-Namespace (unsafe-Helfer etc.)“Sowas wie ein…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    @nafets3646 Du denkst bestimmt an diese Attribute, oder? Damit würde man anscheinend nur an das X kommen, nicht aber an das y. Wenn das gehen würde, stellt sich mir auch die Frage, was passiert, wenn man "".NotNull() macht, denn ein konstanter Empty-String hat ja keinen Variablennamen. Generell halte ich es da für sinnvoller, CodeContracts zu benutzen. Die machen genau das und sorgen auch noch dafür, dass die IDE ne bessere semantische Analyse hat. Zitat: „Hier mal ne kleine Liste von Dlls: dwma…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Es hält sich immer die Legende, dass es rückwärts schneller ist, da nach jedem durchlauf mit einer Konstanten (statt arr.Length) verglichen wird. Das ist allerdings Mikrooptimiererei und eigentlich sinnlos. Keine Ahnung, was ich mir da gedacht habe.

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Zitat von Gonger96: „Was ich nützlich fände (zumindest in jedem Projekt brauche) sind HighByte/LowByte, HighWord/LowWord etc. Als Generika ists wahrscheinlich am Schönsten. Das ist nichts Wildes, aber immer zu gebrauchen.“Wie stellst du dir das mit Generics vor? Bei mir würden da nur die 4 Funktionen rauskommen: gist.github.com/nikeee/d7e46f5da3c29cecf223 Zitat von Higlav: „Zu den ByteSizes: Ich habe hier auch schon mal was dazu gemacht - kannst dir ja mal anschauen.“Das ist im Prinzip ja genau …

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    @Niko Ortner: Bei Generics ist es höchst sträflich, bei der Verwendung auf irgendwelche Typen zu prüfen. Alles, was man kann, ist T auf bestimtme Sachen einschränken, aber eine explizite Typenprüfung verstösst gegen das Prinzip von Generics. Wenn man nur bestimmte Typen zulassen will, welche man nicht mit Type Constraints limitieren kann, sollte man einfach überladen. Sonst kommt jemand noch auf die Idee und macht Low<Point>(Mouse.Position); und bekommt eine Exception, was er nicht erwartet. Fal…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Das geht zwar, aber es hat absolut keinen semantischen Sinn, HIWORD (oder Ähnliches) von einem Struct zu machen. Da kann man auch genausogut eine Instanzmethode definieren, die das (managed und sicher) macht. Für die Primitiven Datentypen ist das ebenfalls Murks. Ich allokiere doch nicht im unverwalteten Speicher, nur um die ersten 8 Bits eines Shorts zu bekommen. Edit: Ich habe gerade einen kleinen MAPI-Wrapper gebastelt, um den Default-Mailclient dazu aufzufordern, eine bestimmte Email zu schi…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    @LaMiy genau dafür sidn CodeContracts da. Die funktionieren im Gegensatz zu einer eigenen Implementierung mit Attributen auch zur Compiletime, denn mit denen kann der Compiler (oder irgendwas davor) den Code auch schon analysieren und gibt entsprechende Warnings/Errors aus. In diese Library passt das auch nicht ganz, glaub ich. Habe mal Version 1.1.1 veröffentlicht. Neu ist u. A. die SemanticVersion-Klasse. Samples dazu folgen.

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ich brauche noch ein paar Meinungen zu der zukünftigen BitUtil-Klasse. Momentan ist es noch in einem separaten Branch. Ich bin mir bei der Benennung nicht sicher. PR: github.com/nikeee/nth/pull/3 Noch sind die Methoden nach den ursprünglichen Makros benannt. (Lo statt Low, Hi statt High). Soll das so bleiben oder soll ich das nach Low/High umbenennen? Da ich nach SemVer-Standard versionisiere, kann in Version 1.x.y nicht einfach ich hinterher die Methoden umbenennen. Das ginge erst in 2.x.y. Noc…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Das könnte ich natürlich machen, aber damit würde ich gegen oben gannte Richtline verstoßen (was ich ohnehin schon mache, aber egal). Der SemVer-Standard schreibt allerdings auch vor, dass alle Versionen einer Software, die die gleiche Major-Version haben, abwärtskompatibel sein müssen. Ich kann also nicht einfach den Root-Namespace ändern, ohne die Library auf Version 2.0.0 anzuheben. Sowas würde ich mir dafür aufheben, wenn es wirklich nicht vermeidbar ist.

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ich habe mir mal erlaubt, ein paar Mathe-Funktionen aus der Sharpex-Library zu übernehmen (weil MIT). Commit(s): github.com/nikeee/nth/commit/a…b3287d6561732253ecabe5f47 github.com/nikeee/nth/commit/8…f527fc0bddaed3d5e3345bb5a Ist noch in einem separaten Branch, da noch Unit Tests fehlen. Wenn @ThuCommix möchte, kann ich das auch wieder entfernen. Noch ist ja nichts in Stein gemeisselt.

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ich habe gerade die Version 1.2.0 veröffentlicht. Neu sind:- BitUtil-Klasse (siehe oben) - Adler32-Checksummen - Die SemVer-Klasse ist jetzt serialisierbar - IEnumerable.ForEach(action) - ConsoleEx.ReadLineMasked + Überladungen - Neue Funktionen in MathEx: GCD, LCM, Lerp, WrapAngle, ToDegrees/ToRadians - Bugfix bei long-überladung von Math.Pow - String-Funktionen: EnsureWrappingStrings, EnsureQuotes, EnsurePrefix, EnsureSuffix Generell habe ich viel Zeit in mehr Unit Tests gesteckt. Der komplett…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ich habe gerade die Version 1.3.0 veröffentlicht. Neu sind: - string.IsNewLine() - string.NormalizeNewLines() - string.NormalizeNewLines(newLine) - DateTime.ToUnixTime() - DateTimeEx.FromUnixToUtcDateTime(long/int) - DateTimeEx.FromUnixToLocalTime(long/int) Sie kann nun via NuGet runtergeladen werden. Alternativ gibt es auch bei den Releases die Binarys: github.com/nikeee/nth/releases Edit: Ist insgesamt nicht viel, da die größeren Erweiterungen noch in anderen Branches liegen und auf Tests wart…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ich habe mal noch 2 weitere Bibliotheken erstellt: - NTH.Framework Eine Library mit erweiterten Konzepten, die über simple Erweiterungen hinausgehen. Momentan enthalten: - DataStore-Struktur für eine Abstraktion von der Speicherung von Daten - Klasse für globale Windows-Hotkeys/Keyboardhook - Windows Mail API-Klasse, um das Default-Mail-Programm mit bestimmten Parametern zu nutzen - NTH.Windows.Forms Erweiterungen, die hauptsächlich Windows Forms betreffen. Dazu gehört momentan: - Controls: Expl…

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Hi, geht das über die WinAPI? Ich möchte nämlich ungerne Controls selber zeichnen, da das immer so viel Wartungsaufwand ist. Wenn du willst, kannst du es aber auch machen und mir einen PR schicken.

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Ich habe mal ein bisschen gereviewt. Es wäre schön, wenn du die Änderungen auf verschiedene Commits aufteilen könntest (Refactoring, implementieren von klassen/Änderungen von Funktionen), sodass man man ggf. Fehler später leichter mit Bisect finden kann. Danke schon mal für den Beitrag!

  • Benutzer-Avatarbild

    NTH-Library

    nikeee13 - - Libraries / Controls

    Beitrag

    Habe den PR gemergt. Die NTH.Windows.Forms hat jetzt auch eine ListView mit einklappbaren Gruppen. Sehr schön. Vielen Dank!