Laden...
Avatar #avatar-3125.png
Benutzerbeschreibung
Mein Blog: https://blog.mariusschulz.com

Forenbeiträge von m0rius Ingesamt 1.002 Beiträge

05.06.2011 - 15:18 Uhr

Hallo steve46,

ich bin kein Jurist. Wenn deine Anwendung jedoch irgendeine Ähnlichkeit zu den Microsoft-Office-Produkten besitzt, solltest du die Ribbons nicht verwenden.

m0rius

05.06.2011 - 14:21 Uhr

Hallo steve46,

so what? Es ist eben keine Office-ähnliche-Anwendung und darf daher die Ribbons verwenden.
Abgesehen davon würde es den Gebrauch auch dann nicht legitimieren, wenn es eine Office-ähnliche Anwendung wäre.

m0rius

03.06.2011 - 21:26 Uhr

Hallo michlG,

Ich habe gelesen dass man diese Oberfläche auch total abschalten kann.

siehe

Dort beantwortet das erste Video, "D9 Demo", ab der Stelle 10:00, die Frage, ob man lediglich den herkömmlichen Desktop benutzen kann — ja, man kann!

m0rius

03.06.2011 - 18:56 Uhr

Hallo zusammen,

alle veröffentlichten Informationen, Screenshots und Demo-Videos findet ihr zusammengefasst unter Windows 8: features, screenshots, and everything else you need to know.
Dort beantwortet das erste Video, "D9 Demo", ab der Stelle 10:00, die Frage, ob man lediglich den herkömmlichen Desktop benutzen kann — ja, man kann!

m0rius

03.06.2011 - 12:19 Uhr

Hallo Coder007,

zero_x sagt ja nicht, dass man keine Patterns kennen sollte. Eigentlich unterstreicht er nur die These "Keine Patterns als Selbstzweck" (um der Patterns Willen). Wenn man im Nachhinein feststellt, dass man ohne bewusste Anwendung ein Pattern implementiert hat, hat man die entsprechende Architektur nicht gewählt, um ein Pattern integriert zu haben.

Der Buchempfehlung O´Reilly: Entwurfsmuster von Kopf bis Fuß kann ich mich nur vollstens anschließen.

m0rius

03.06.2011 - 11:51 Uhr

Hallo Klein-Dummy,

am häufigsten nutze ich wohl das Factory- sowie Repository-Pattern, hauptsächlich in Kombination mit ASP.NET MVC und dem Entity Framework.

m0rius

02.06.2011 - 17:31 Uhr

Hallo zusammen,

mit HTML5 und JavaScript als Entwicklungsplattform — was passiert mit .NET? Nicht mit einem Wort erwähnt.
Ich will an dieser Stelle gar nicht viel dazu schreiben; unter A Quick Look At Window 8 gibt es genug erboste Kommentare, was die .NET-Entwicklungsabteilung angeht.

m0rius

02.06.2011 - 16:32 Uhr

Hallo myUnderTakeR,

selbstverständlich hat die Frage etwas mit WPF bzw. Silverlight zu tun — schließlich ist die Implementierung technologieabhängig.
Splash Screen ist das richtige Stichwort, denn WPF bietet die Möglichkeit, die BuildAction eines Bildes auf SplashScreen zu setzen.

Für weitere Informationen gibt es den Artikel Implement [a] Splash Screen with WPF auf codeproject.

m0rius

02.06.2011 - 16:28 Uhr

Hallo bSharp,

ich verstehe, dass das schon eine ziemliche Umstellung ist, von herkömmlichen DropDown-Menüs auf Ribbons umzustellen. Ich bin auch kein Fan von Tiles, muss aber zugeben, dass ich anfangs auch kein Fan von Ribbons war und mittlerweile keine Office-Anwendung mehr ohne bedienen möchte. Und trotzdem bleibe ich sehr skeptisch, was Tiles angeht.

Ich sehe allerdings in den spartanischen Benutzeroberflächen, die wohl zum Großteil von Google Chrome angeregt wurden, eine große Entwicklung. Welche Funktionen nutzt der durchschnittliche User schon am Browser? Richtig, den "Zurück"-Button, die Lesezeichen-Leiste und ab und zu auch mal das Bookmark-Symbol; das dürfte es dann fast gewesen sein.

Um mal wieder die Kurve zum Thema zu kriegen: Ich frage mich, ob es überhaupt möglich ist, Aero oder eine vergleichbare Oberfläche ganz aus dem Betriebssystem zu entfernen, wenn Windows 8 nicht nur konsumiert werden soll, sondern auch zum Entwickeln gedacht ist. Visual Studio mit Fingergesten zu bedienen und – à la ALT+TAB – ein Entwicklungs-Tool nach dem anderen ins Bild zu wischen, halte ich für unübersichtlich. Aber vielleicht ist auch das, genau wie mit den Ribbons, nur Gewohnheitssache.

Spannend fände ich auch die Frage, inwiefern Metro Multiscreens unterstützt — ein Screen zum Darstellen der Tiles, ein anderer zum Darstellen der maximierten Programmfenster?

m0rius

02.06.2011 - 12:19 Uhr

Hallo zusammen,

Microsoft hat auf der D9 Konferenz das User Interface von Windows 8 vorsgestellt (siehe Microsoft reveals new Windows 8 User Interface bzw. Microsoft zeigt Windows 8).

Wie im ersten einer Reihe von Screencasts gezeigt wird, handelt es sich dabei um eine Kombination der bereits bekannten Oberflächen Metro (Windows Phone 7) sowie Aero (Windows Vista, Windows 7), das zur Unterstützung herkömmlicher (Legacy?) Programme verwendet wird. Die gesamte Benutzerführung ist auf Touch ausgelegt und soll verschiedenste Arten von Geräten bedienen, von Tablets über Notebooks bis zum ausgewachsenen PC mit Maus und Tastatur, die weiterhin einsetzbar sein sollen.

Mir persönlich gefällt die Metro-Oberfläche nicht wirklich und ich hoffe, dass die Möglichkeit besteht, lediglich das herkömmlich Aero zu nutzen, ohne erst den Startbildschirm mit App Tiles angezeigt zu bekommen.

m0rius

01.06.2011 - 14:41 Uhr

Hallo herbivore,

ich habe mir mal die Mühe gemacht und folgendes Inhaltsverzeichnis erstellt:
1.Zeichen-Pyramidegelöst von dN!3L 1.Römische Zifferndarstellunggelöst von edsplash 1.Sierpinski-Dreieck auf der Konsole ausgebengelöst von michlG 1.Tromino Tiling Algorithmus implementierengelöst von zommi 1.Berechnung der Quadratzahl ohne Verwendung von * und /gelöst von Corpsegrinder 1.Rekursive Implementation der Russian Peasant Multiplication / Ancient Egyptian Multiplicationgelöst von der-schlingel 1.Iterativer Durchlauf eines Binärbaums in Inorder-Reihenfolgegelöst von herbivore 1.Iterative Lösung für die "Türme von Hanoi"gelöst von dechavue 1.Iterative Implementierung des Quicksort-Sortieralgorithmus'gelöst von F.Z. 1.Pascal'sches Dreieck generierengelöst von winSharp93 1.Algorithmus zur Primfaktorzerlegung implementierengelöst von Uwe81 1.Test eines Integers auf Zweierpotenzgelöst von herbivore 1.Erweiterter euklidischer Algorithmus (rekursiv oder iterativ)gelöst von F.Z. 1.Erweiterter euklidischer Algorithmus (iterativ)gelöst von LuckyGeorge 1.Lückenlosen Kreis auf der Konsole zeichnengelöst von MarsStein 1.Mastermind-Zwischenschritt-Bewertunggelöst von m0rius 1.Schiffe-Versenken Spielfeldgenerierunggelöst von Floste 1.Rectangle Invadersgelöst von MarsStein 1.Queue ohne Collections-Namespaces implementierengelöst von Corpsegrinder 1.Listenklasse als binären Differenzbaum implementierengelöst von herbivore 1.SyncQueue<T> erweitern: Enqueue blockiert bei voller Queuegelöst von Corpsegrinder 1.Eigene, threadsafe Matrix-Klasse implementierengelöst von Floste 1.Berechnung der TCP/IP-Checksumme über ein Arraygelöst von markus111 1.Sinuskurve auf der Konsole ausgebengelöst von m0rius 1.Glückliche Zahlen berechnengelöst von Kaji 1.Liste von Strings sortieren und ohne GUI-Block in einer ListBox anzeigengelöst von edsplash 1.Bijektives (eineindeutiges) IMap-Objekt erstellengelöst von inflames2k 1.Interpreter bzw. Parser für mathematische Formeln entwickelngelöst von MarsStein 1.Galton-Brett auf der Konsolegelöst von talla 1.Umsetzung eines gegebenen syntaktischen Konstrukts in C# möglich?gelöst von Corpsegrinder 1.List<T> um FoldLeft() erweiterngelöst von herbivore 1.Baum depth-first in-order iterativ durchlaufengelöst von Tarion 1.Russisch Roulettegelöst von dN!3L 1.Abstand von Zahlenzwillingen in einer Auflistung natürlicher Zahlengelöst von herbivore 1.Zahlenfolgen-Kniffeleigelöst von JAck30lena 1.Conway's Game of Lifegelöst von MarsStein 1.Wegfindung im Irrgartengelöst von edsplash 1.Pi mit dem Monte-Carlo-Algorithmus approximierengelöst von prakti08 1.Gültige Lösung für gegebenes Sudoku ermittelngelöst von Campac68 1.Parser entwickelngelöst von MarsStein 1.Bit-Arithmetik zum Indizieren mehrerer Wertegelöst von zommi 1.Größte, nicht aus gegebenen Zahlen zusammensetzbare Zahl ermittelngelöst von Floste 1.ISharpPixelShader — Programm zur Erzeugung von Bildern mit C#gelöst von dN!3L 1.Left Outer Join einer flüchtigen, beliebig großen Enumerationgelöst von gfoidl 1.Methode verändern, sodass Tests bestanden werdengelöst von Lennart 1.Erweiterungsmethoden-Knobeleigelöst von Corpsegrinder 1.Kleinstes gemeinsames Vielfache mehrerer Zahlen ermittelngelöst von zommi 1.CLR-Internas: unsafe-Pointer-Arithmetik für SubArray-Bindinggelöst von Floste 1.Kniffel-Spiel: mögliche Ergebnis-Punktzahlen für gegebenen Wurf ermittelngelöst von TheBrainiac 1.Einfachen Kompressions-Algorithmus entwickelngelöst von herbivore 1.Polygonzug auf Offenheit überprüfengelöst von Floste 1.Alle Zahlenkombinationen aus {1, 2, 3, 4, 5, 6, 7, 8, 9} ermittelngelöst von gfoidl 1.Zahlenrätsel: Ich denke an 2 Zahlen ...gelöst von Spontifixus 1.Lokalsierten Texteditor mit den Befehlen Cut, Copy, Paste, Undo, Redo in XAML umsetzengelöst von Spontifixus 1.Eigenen Cache mit Schlüssel-Zugriff erstellengelöst von gfoidl 1.Code ohne unsafe-Schlüsselwort oder Marshal-Klasse ergänzengelöst von zommi 1.Kollisionsfindung für Hashfunktion implementierengelöst von Xander 1.Wochentag zu gegebenem Datum berechnengelöst von inflames2k 1.Eigene Liste ohne Collections-Namespaces implementierengelöst von winSharp93 1.Eigene Liste um Reverse()-Methode ergänzengelöst von MarsStein 1.Prinzip der Kapselung in .NET aushebelngelöst von Scavanger 1.Programm zum Feuern von Mitarbeitern manipulierengelöst von zommi 1.Geheimen Text aus .NET-Applikation entschlüsselngelöst von Joetempes 1.Anwendung dazu bringen, "korrekt" auszugebengelöst von Scavanger 1.Lösungsstrategie für Stapel-Kartentrick implementierengelöst von Daniel B. 1.Leveleditor: Zielpunkt vom Startpunkt aus erreichbar?gelöst von Scavanger 1.Iterative Lösung für das 8-Damen-Problemgelöst von Floste 1.Konsolenanwendung dazu bringen, "richtig" auszugebengelöst von Scavanger 1.Probabilistischen Algorithmus zur Primzahlfindung implementierengelöst von Daniel B. 1.Conway's Game of Life mit grafischer Ausgabegelöst von Sekkiy 1.Konsolenanwendunganwendung so ergänzen, dass "Gelöst" ausgegeben wirdgelöst von zommi

m0rius

30.05.2011 - 20:17 Uhr

Hallo tpW510,

ich bin eben durch einen Tweet von smashingmag auf die Seite WeekendHacker aufmerksam geworden — vielleicht ist das etwas, was du suchst.

m0rius

30.05.2011 - 12:07 Uhr

Hallo Abt,

sicher könnte man den Post noch um einige weitere Vorzüge von MVC erweitern, allerdings erhebt dieser nach dem Titel Why I love ASP.NET MVC ja auch keinen Anspruch auf Vollständigkeit 😉.

m0rius

27.05.2011 - 18:40 Uhr

Hallo zusammen,

ich bin eben auf den Blogpost Why I love ASP.NET MVC von Matt Hidinger gestoßen — sehr zu empfehlen und hilfreich für eine Entscheidung. Darin werden sehr schön die Vorzüge von MVC gegenüber WebForms aufgezählt.

m0rius

27.05.2011 - 14:24 Uhr

Hallo tpW510,

herzlich Willkommen auf myCSharp!

Nun zu deiner Frage: Was genau suchst du? Suchst du eine Plattform, auf der Open-Source-Projekte nach Mitarbeitern suchen? Dann wirst du auf Codeplex unter Help Wanted sicher auch kleinere Projekte finden.

m0rius

24.05.2011 - 16:34 Uhr

Hallo zusammen,

Oh, and EF + Enums. Yeah, we know. It's coming 😃

m0rius

23.05.2011 - 17:35 Uhr

Hallo inflames2k,

WPF wäre auch mein Vorschlag gewesen. Pick the right tool for the job, und das ist für dein Vorhaben meines Erachtens nicht HTML und CSS.

m0rius

16.05.2011 - 20:10 Uhr

Hallo MarsStein,

danke — wer lesen kann, ist klar im Vorteil, merke ich 😉.

m0rius

16.05.2011 - 18:01 Uhr

Hallo Blue_Dragon,

System.Diagnostics.Process.Start(@"mailto:" + mailadresse);

m0rius

04.05.2011 - 11:34 Uhr

Hallo zusammen,

am 16. Mai erscheint The Clean Coder: A Code of Conduct for Professional Programmers von Robert C. Martin ("Uncle Bob"), dem Autor von Clean Code: A Handbook of Agile Software Craftsmanship:

The Much-Anticipated Follow-Up to "Uncle Bob's" Highly Praised Clean Code Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals. In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship.

This book is packed with practical advice — about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers will learn ...

What it means to behave as a true software craftsman

How to deal with conflict, tight schedules, and unreasonable managers

How to get into the flow of coding, and get past writer's block

How to handle unrelenting pressure and avoid burnout

How to combine enduring attitudes with new development paradigms

How to manage your time, and avoid blind alleys, marshes, bogs, and swamps

How to foster environments where programmers and teams can thrive

When to say "No" — and how to say it

When to say "Yes" — and what yes really means

Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them--and earn the pride and fulfillment that they alone possess.

m0rius

03.05.2011 - 11:20 Uhr

Hallo Jack_AI,

ich handhabe das genau wie Coder007 und mache mir kleinschrittige (!) ToDo-Listen. Es ist einfach ein klasse Gefühl, wenn man sich mal 1,5 Stunden hinsetzt und 5 Punkte abhaken kann! Auf diese Weise hat man sogar einen Nachweis, dass es vorangeht — ziemlich motivierend, wie ich finde.

Ralf Westphal spricht in vielen seiner Blogposts von senkrechten Durchstichen an Funktionalität, die jede Entwicklungs-Iteration erreichen sollte. Es soll also nicht wochenlang lediglich an der Infrastruktur einer Anwendung gearbeitet werden, sondern kleine, vorzeigbare Funktionseinheiten hinzugefügt werden. Bemerke ich über einen längeren Entwicklungszeitraum auf Dauer keinen sichtbaren Funktionszuwachs oder eine Produktivitätssteigerung, ist das für mich der Motivationskiller #1!

m0rius

28.04.2011 - 23:44 Uhr

Hallo Stipo,

hier der Ansatz, den ich mit meinen Repositories verfolgt habe. Er ist nicht zu 100% generisch, d.h. im jeweiligen Repository muss die Schnittstelle des Interfaces implementiert und dabei die entsprechende Entity Collection verwendet werden.

Ansonsten hilft dir vielleicht Advantage of creating a generic repository vs. specific repository for each object? weiter.

m0rius

27.04.2011 - 18:26 Uhr

Hallo CyberBoy,

herzlich Willkommen auf myCSharp.de!

Meine Frage: Kann man so etwas auch selber implementieren?

Klar kann man das — irgendwie ist der Reflector ja schließlich auch entstanden 😃.

m0rius

26.04.2011 - 17:25 Uhr

Hallo Tholi,

überleg mal genau, was du da gemacht hast, dann wird dir auch auffallen, warum das gar nicht funktionieren kann: Du versuchst, alle Früchte, deren "Länge" echt kleiner als 6 ist, in query abzuspeichern. Soweit okay — nur wirst du dafür Where() verwenden müssen, da es sich eben nicht um eine einzelne Frucht handelt.

Genau dafür sind Single() und SingleOrDefault() allerdings gedacht, nämlich zum Zurückgeben des einzigen Elementes einer Collection, das eine bestimmte Bedingung erfüllt (respektive null bei Verwendeung von SingleOrDefault(), wenn die Collection leer ist oder keine Elemente enthält, die die Bedingung erfüllen).

Ich verweise an dieser Stelle nochmal auf den oben genannten Blogpost von James Michael Hare!

m0rius

26.04.2011 - 17:20 Uhr

Hallo zusammen,

der Vollständigkeit halber: James Michael Hare hat vor kurzem den Blogpost C#/.NET Little Wonders: First() and Single() - Similar Yet Different passend zum Thema verfasst. Darin werden die Unterschiede der beiden Erweiterungsmethoden sehr gut erklärt.

m0rius

21.04.2011 - 11:46 Uhr

Hallo words_sourcecode,

an dieser Stelle musst du ganz klar zwischen einer symmetrischen / asymmetrischen Verschlüsselung und einer kryptologischen Hashfunktion unterscheiden.

Verschlüsselte Klartexte, also Geheimtexte, können wieder entschlüsselt werden, um aus ihnen den Klartext – unter Kenntnis des Schlüssels – wiederherzustellen. Hashfunktionen, auf der anderen Seite, funktioneren wie ein Falltür, nämlich nur in _eine _Richtung. Das heißt, dass es eben nicht erstrebenswert ist, und bei einer guten Hashfunktion auch nicht "leicht" zu machen, diese wieder umkehren zu können.

Jetzt zum eigentlichen Punkt: Passwörter sollten niemals im Klartext abgelegt werden. Gespeichert werden sollte lediglich ein ++Hash ++von ihnen. Du errechnest mit der gleichen Hashfunktion den Hash des eingegebenen Passwortes und vergleichst diesen mit dem gespeicherten Hash. Stimmen die beiden Werte überein, wurde mit an Sicherheit grenzender Wahrscheinlichkeit das richtige Passwort eingegeben.

Der Vorteil dieses Verfahrens liegt darin, dass keine Rückschlüsse auf das Passwort eines Nutzers gezogen werden können, da aus einem gegebenen Hash nicht ohne riesig hohen Aufwand der Klartext wiederhergestellt werden kann. Die lange Zeit gängige Hashfunktion MD5 solltest du dabei meiden und auf kryptographisch stärkere Funktionen, wie z.B. SHA-512 aus der SHA-Reihe, ausweichen.

m0rius

20.04.2011 - 16:10 Uhr

Hallo Lotus,

du kannst die Überprüfung bzw. die auszuführende Aktion in den set-Accessor stecken, wenn du statt eines Feldes eine Eigenschaft verwendest. So ist sichergestellt, dass die entsprechende Methode bei jeder Änderung – evtl. auch nur unter einer bestimmten Bedingung – aufgerufen wird.

m0rius

18.04.2011 - 18:55 Uhr

Hallo OldSchoolGuy,

Alle diese erbenden Klassen enthalten dieselbe Eigenschaft, der ich einen Wert zuweisen möchte:

in diesem Fall gehört die Eigenschaft in die Basisklasse, von der alle Klassen erben — dies ist schließlich deren gemeinsame Schnittstelle.

m0rius

13.04.2011 - 10:26 Uhr

Hallo MarsStein,

ganz so einfach ist es nicht — so lässt sich zum Beispiel dN!3Ls zweite Erweiterungsmethode, die params nutzt, nicht ganz trivial umdrehen, sodass Contains() verwendet werden kann:

if (i.IsIn(1, 2, 4000, 1337, 100))
{ 
    /* ... */
}

Das händische Äquivalent wäre

if (new int[] { 1, 2, 4000, 1337, 100 }.Contains(i))
{ 
    /* ... */
}

Ich halte dN!3Ls Variante auch für deutlich lesbarer! (Gerade den Aspekt Lesbarkeit kommt häufig zu kurz und sollte meiner Meinung nach nicht unterschätzt werden.

m0rius

12.04.2011 - 15:40 Uhr

Hallo Abt,

das gleiche wollte ich eben auch schreiben, bis ich auf den Blogpost Unobtrusive Ajax in ASP.NET MVC 3 von Brad Wilson gestoßen bin:

In ASP.NET MVC 1.0, we shipped Ajax helpers implemented as extension methods on the AjaxHelper class (and available via the Ajax property of your views). In the box, we shipped two category of Ajax helpers: Ajax links and Ajax forms. Both fundamentally did the same thing: make an asynchronous request, and do something with the result when you’re finished (including knowing whether you got back a success or failure response from the server).

In ASP.NET MVC 3 Beta, we've updated the runtime to enable a feature we're calling "Unobtrusive Ajax". We have also created a consumer for these unobtrusive Ajax attributes that uses ++jQuery ++to perform the Ajax requests on our behalf.

m0rius

12.04.2011 - 15:02 Uhr

Hallo Noodles,

auch ich würde es mit reinem jQuery versuchen, zumal das Microsoft AJAX Toolkit abtritt und, auch offiziell, jQuery Platz macht.
zurückgenommen, siehe meinen Post weiter unten. (Ich war der Meinung, die Verwendung von Ajax.BeginForm() würde das Verwenden von MicrosoftAjax.js implizieren, was der unten genannte Blogpost von Brad Wilson allerdings wiederlegt.

m0rius

04.04.2011 - 18:50 Uhr

Hallo olik,

du musst die Variable endpunkte außerhalb des if-Blocks deklarieren.

m0rius

29.03.2011 - 18:43 Uhr

Hallo,

dann will ich mich auch nochmal beteiligen. Geöffnet sind die Anwendungen, die bei mir praktisch durchgängig laufen.

m0rius

27.03.2011 - 16:47 Uhr

Hallo Paschulke,

verwende Global Hooks, um systemweite Benutzereingaben abzufangen.

m0rius

23.03.2011 - 13:47 Uhr

Hallo dN!3L,

eben 😃. Hopsen tut er bei mir allerdings nicht.

m0rius

23.03.2011 - 13:41 Uhr

Hallo dN!3L,

ja, ich habe diesen Übergang auch — in allen Fenstern! (Allerdings stört er mich nicht, da ich Firefox prinzipiell maximiert geöffnet habe.

m0rius

22.03.2011 - 16:33 Uhr

Hallo zusammen,

lange hat's gedauert — jetzt ist Firefox 4 veröffentlicht.*Firefox 4 *Firefox 4 (englische Version)

m0rius

19.03.2011 - 15:17 Uhr

Hallo #coder#,

sieh dir mal die Data Annotations Extensions von Scott Kirkland an.

m0rius

13.03.2011 - 13:41 Uhr

Hallo David W,

Was ist R#?

R# steht für den ReSharper.

m0rius

11.03.2011 - 13:01 Uhr

Hallo zusammen,

stimmt, die Segoe UI wird erst ab Vista mitgeliefert, genau wie Calibri. Ich würde testweise Arial oder Verdana verwenden.

m0rius

09.03.2011 - 18:53 Uhr

Hallo escsharp,

herzlich willkommen bei myCSharp!

Jetzt frage ich mich

Bzw. uns? Es gibt nämlich kein einziges Fragezeichen in deinem Post.
Der PrintDialog ist ein Dialog, den du anzeigen lassen kannst — dieser wird nicht direkt auf dem Fenster dargestellt.

m0rius

09.03.2011 - 16:04 Uhr

Hallo multitrust,

ich bin völlig gegen ein Gästebuch — ich rolle schon immer mit den Augen, wenn ich den Link dazu sehe. Dazu kommt, dass sich die Einträge in den Gästebüchern, die ich bisher gesehen habe, größtenteils an der Grenze zur Lesbarkeit bewegt haben.

m0rius

07.03.2011 - 12:09 Uhr

Hallo Samy1981,

siehe Th69s Antwort in KeyPress Event bekommen, egal welches Control den Focus hat:

Nur bei System-Tasten (z.B. Tab, Alt etc.) muß man tiefer in die Trickkiste greifen, z.B. Form.ProcessCmdKey().

m0rius

04.03.2011 - 17:39 Uhr

Hallo winSharp93,

sehr, sehr chic, was man bisher so sehen kann — Kompliment!

m0rius

03.03.2011 - 22:01 Uhr

Hallo Zottell,

ich schreibe die Test so, wie ich sie oben beschrieben habe. Ein Test pro Controller, der gleichzeitig das Model mittestet, ist demnach großer Blödsinn.

m0rius

03.03.2011 - 19:45 Uhr

Hallo Zottell,

mit einem _Unit _Test wird eine (!) _Unit _getestet, s. Single Responsibility Principle. Du sollst also ++nicht ++einen 500-zeiligen Unit Test schreiben, der eine gesamte Assembly testet. Stattdessen sollst du einzelne Unit Tests schreiben, die eine jeweils spezifische Funktionalität testen.

Wenn man testgetrieben entwickelt, hat jede öffentliche Methode einen oder mehrere zugehörige Tests. Auch dann, wenn man nicht TDD praktiziert, ist eine möglichst hohe Testabdeckung anzustreben.

Die Frage, ob private Methoden direkt getestet werden sollten, beantwortet herbivore sehr gut in Tatsächlicher Nutzen von Unit-Tests [und TDD]:

gerade mit Blick auf den Nutzen von Unit-Tests beim Refactoring ist es kontraproduktiv, private Methoden direkt zu testen, statt nur indirekt über öffentliche Methoden, weil du dann nach einer Änderung der Implementierung die Tests nicht einfach unverändert laufen lassen kannst, um eine verlässliche Aussage über die Korrektheit der Änderungen zu bekommen, sondern die Tests erst anpassen musst.

m0rius

03.03.2011 - 19:35 Uhr

Hallo Abt,

hier nochmal der feine Unterschied aus Controller.TryUpdateModel-Methode:

Die [TryUpdateModel]-Methode entspricht der [UpdateModel]-Methode, mit dem Unterschied, dass die [TryUpdateModel]-Methode keine InvalidOperationException-Ausnahme auslöst, wenn der aktualisierte Modellzustand nicht gültig ist.

m0rius

03.03.2011 - 18:25 Uhr

Hallo Abt,

meines Wissen nach ändert UpdateModel das Model — TryUpdateModel hingegen gibt nur einen boolschen Wert zurück, der angibt, ob das Model entsprechend aktualisiert werden kann, ohne es abzuändern.

m0rius

03.03.2011 - 09:22 Uhr

Hallo Jelly,

Wie wäre es mit der ganzen Binding Sache unter .NET.

in 5 Minuten? Da wäre ich skeptisch, ob die Zeit reicht bzw. bin mir ziemlich sicher, dass sie es nicht tut ...

m0rius

02.03.2011 - 17:42 Uhr

Hallo zusammen,

passend dazu die StackOverflow-Diskussion List of freely available programming books.

m0rius