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

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von MarsStein
Thema: Statische Propertie in Task (Verständnisproblem)
Am im Forum: Grundlagen von C#

Hallo,

Zitat
Ich benutze eine synchronized Queue:

Ja, schon. Das ist aber hier nicht die Frage, sondern wie Du den Zugriff auf Deinen Counter synchronisierst - sprich, wie AddTaskCounter und SubstractTaskCounter implementiert sind.
Da scheint die Synchronisierung zu fehlen.
Zitat
Variante A ist auch kacke, weil der Zähler runter gezählt wird, auch dann wenn die Task noch nicht beendet ist. Oder?
Richtig.

Gruß, MarsStein

Thema: Entfernte Registry warten
Am im Forum: Netzwerktechnologien

Hallo,

so einen Dienst gibt's schon unter Windows.
Schau mal in RegistryKey.OpenRemoteBaseKey Method

Beachte was da unter "Remarks" steht!

Gruß, MarsStein

Thema: Dateiname von angezeigtem PDF vorbelegen
Am im Forum: Web-Technologien

Hallo,

Du solltest Dein PDF nicht in einer ASPX-Seite ausliefern und dann so Sachen machen wie

Response.Clear();
...
Response.BinaryWrite(arrPdf);
Response.Flush();

Das ist ziemlich grauselig. Die ASPX-Seite ist dafür da, eben normale, auf dem Server generierte Webseiten auszuliefern. Der die Response unterm Hintern wegzuziehen und was eigenes reinzuschreiben sollte man tunlichst vermeiden.

Schreib Dir für das PDF einen eigenen HTTPHandler (.ashx) - wie das geht fidest Du mit diesen Stichworten hier im Forum.

Gruß, MarsStein

Thema: ArgumentOutOfRangeException bei der List
Am im Forum: Grundlagen von C#

Hallo,

Zitat
Also wenn ich das x in i ändere dann funktioniert das genau so wenig...
Klar. Überleg mal genau was da passiert.

Entweder Du solltest x-mal an der Stelle 0 entfernen, dann entfernst Du immer das jeweils erste Element in der Liste (wodurch dann das nächstfolgende zum neuen ersten wird).
Oder Du fängst beim letzten Element Element an. Dann musst Du aber Deine Schleife so umbauen, dass sie von i = Count - 1 x-mal rückwärts läuft (mit kleinerwerdendem Index -> i--).

Gruß, MarsStein

Thema: Bildbearbeitung LockBits --> Bild ist Rot, Grün und Blau gestreift
Am im Forum: Grafik und Sound

Hallo,

wenn ich es richtig sehe beachtest Du den Stride nicht. Das ist sozusagen die "eigentliche" Länge einer Zeile in der Bitmap - die Zeilen werden ggf. hinten mit einigen bytes aufgefüllt.

Schu Dir an wie das in GetPixel und SetPixel um Längen geschlagen. 800 mal schneller im zweiten Codeblock behandelt wird.

Gruß, MarsStein

Thema: Berechnung des BMI. Fehler wenn nach erfolgter Berechnung Wert geändert wird
Am im Forum: Grundlagen von C#

Hallo,

Zitat von masen
Ich werde mich gleich mal daran setzen. Was mir schon mal aufgefallen ist...

person.BMI = NULL;

...geht so nicht, oder?

Doch, in gfoidls Beispiel geht das, weil BMI als decimal? (achte auch das Fragezeichen) deklariert ist.
Es handelt sich dabei um ein Nullable<decimal>.

bindingSource1 ist eine BindingSource, die an die View gebunden wird.

Wie die beiden Dinge funktionieren, kannst Du den verlinkten Doku-Seiten entnehmen.

Gruß, MarsStein

Thema: Klasse ohne direkten Namen erstellen
Am im Forum: Grundlagen von C#

Hallo,

wenn Du die Einzeltelegramme mit einem Namen ansprechen willst, den Du zur Laufzeit zusammensetzt, hilft Dir hier am besten ein Dictionary<string, Einzeltelegramm>.
Da kannst Du dann die einzelnen Instanzen unter ihrem Namen ablegen.

Gruß, MarsStein

Thema: Klasse ohne direkten Namen erstellen
Am im Forum: Grundlagen von C#

Hallo,

ich denke wie gfoidl, dass [FAQ] Variablennamen zur Laufzeit zusammensetzen / Dynamisches Erzeugen von Controls der Sache am nächsten kommt.

@Palladin007
Bei dynamisch zu erzeugenden Properties funzt das mit dem Dictionary natürlich, aber statt einer GetValue- und SetValue-Methode fände ich hier einen Indexer schöner.
Das Dictionary hat aber allgemien den Nachteil, dass man immer bei GetValue den Rückgabewert nochmal casten muss.

Wenn man bei der Erzeugung schon weiss, wie die Properties heissen sollen (aber nur dann), könnte man ggf. auch mit anonymen Typen arbeiten.

Gruß, MarsStein

Thema: Methoden - Fehler bei Codebeispiel in einem Buch
Am im Forum: Grundlagen von C#

Hallo,

bist Du sicher, dass Du nicht einfach einen Fehler beim abtippen gemacht hast?

"Variable: {0}; Variable: {1)" // <-- da gehört wie im zweiten Beispiel eine geschweifte Klammer hinten hin!!

Gruß, MarsStein

Thema: Notendurchschnitt wird falsch berechnet
Am im Forum: Grundlagen von C#

Hallo,

weil quantity und sum nicht zurück auf 0 gesetzt werden?

Gruß, MarsStein

Thema: [gelöst] UserControl KeyDown aktivieren?
Am im Forum: GUI: WPF und XAML

Hallo,

versuch mal die Lösung aus WPF: Setting Keyboard Focus in a User Control? (Problems with KeyBinding)

Gruß, MarsStein

Thema: JSON Download über HTTPWEBREQUEST
Am im Forum: Netzwerktechnologien

Hallo,

dann schau Dir mal im Firebug oder in den mit Firefox gelieferten Entwickler-Tools die beiden Requests (die im Browser HTML bzw. JSON liefern) genau an (die vollständigen Header). Da muss es irgendwelche Unterschied geben. Wenn Du die findest, kriegst Du bestimmt auch Dein JSON abgerufen.

Gruß, MarsStein

Thema: JSON Download über HTTPWEBREQUEST
Am im Forum: Netzwerktechnologien

Hallo,

möglicherweise hängt das auch mit Cookies zusammen. Sprich, wenn ein bestimmter Cookie gesetzt ist, bekommst Du das JSON, ist er noch nicht gesetzt, bekommst Du das HTML.
Um das zu überprüfen, müsstest Du die Adresse zweimal jhintereinander aufrufen (tust Du ja auch schon), und dabei jeweils die gleiche Instanz des CookieContainers für beide Requests verwenden (statt immer ienen neuen Contaier zu erstellen).

Gruß, MarsStein

Thema: decimal.TryParse schlägt je nach NumberStyles fehl
Am im Forum: Grundlagen von C#

Hallo,

kombiniere einfach beide NumberStyles:

decimal.TryParse(BudgetString, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("de-DE"), out budget)

Gruß, MarsStein

Thema: Screenshot ist beim Ausdruck zu unscharf
Am im Forum: Rund um die Programmierung

Hallo,

Zitat
Beim Ausdrucken wird ein Screenschot erstellt. Dieser wird dann aufgteteilt da die Berechnung mehrere A4 Seiten lang ist.
Du machst einen Screenshot, also das, was auf dem Bildschirm angezeigt wird, und verteilst es auf mehrere A4-Seiten? Dann ist es kein Wunder, dass das unscharf wird.
Allerdings kann ich mir auch überhaupt keine Vorstellung davon machen, wie diese Daten dann auf dem Bildschirm aussehen mögen.
Kannst Du das mal etwas genauer beschreiben, evtl. mit einem exemplarischen Screenshot?

Gruß, MarsStein

[EDIT]ich gebe Abt und Ezio recht, hört sich alles stark danach an, die Daten direkt besser zu drucken[/EDIT]

Thema: Webbrowser Control - Zu viele Benutzer-Objekte
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wb.DocumentCompleted += new   WebBrowserDocumentCompletedEventHandler(webbrowser_DocumentCompleted);

Hängst Du den Handler auch irgendwo wieder ab?

Gruß, MarsStein

Thema: Win CE Gerät MissingMethodException
Am im Forum: Rund um die Programmierung

Hallo,

gibt's zu der Exception auch 'nen Stacktrace?

und:

Zitat
select Visual C# - Smart Device - Windows CE 5.0 under Project Types
Stimmt bei Dir die Version 5.0?

Gruß, MarsStein

Thema: SynchronizationContext - Post-Methode wird nie aufgerufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

versuch mal, Deinen SynchronizationContext umzubiegen, bevor Du die asynchrone Methode HandleInput aufrufst:

        SynchronizationContext lastContext = Synchronizer.Current;

        Synchronizer.SetSynchronizationContext(synchronizer);

        focused.HandleInput();
        synchronizer.ProcessAwaits();

        Synchronizer.SetSynchronizationContext(lastContext);

Sonst landest Du im falschen Kontext!

Gruß, MarsStein

Thema: driver.FindElement div Class Aufruf?? (Selenium WebDirver)
Am im Forum: Grundlagen von C#

Hallo,

wenn's nicht funktioniert, vermute ich, dass Du einfach versuchst auf das falsche Element zu "clicken".
Sicher dass <div class="listitem_new "> der richtige Kandidat ist?

Gruß, MarsStein

Thema: 2D Feld durch gegebenen Schnittpunkt und Radius füllen
Am im Forum: Grafik und Sound

Hallo,

Du kannst Dir entweder einen Algorithmus basteln, der mit Sinus und Cosinus arbeitet, oder vielleicht auch den Bresenham-Algorithmus verwenden.

Gruß, MarsStein

Thema: Humor: Java Programmierer ... und andere lustige Sachen
Am im Forum: Smalltalk

Dazu ist mir gleich das klassische "Pie-Chart" eingefallen:

Thema: Nach Zeilenumbruch in RichTextBox suchen
Am im Forum: GUI: Windows-Forms

Hallo,

schau mal in RichTextBox.Find-Methode (String)

Da steht unter Hinweise im gelb hinterlegten Kasten:

Zitat
Die Find-Methoden, die einen string als Parameter annehmen, können keinen Text finden, der sich über mehrere Textzeilen in der RichTextBox erstreckt. Der Rückgabewert eines solchen Suchvorgangs ist -1.

Dann ist es nicht verwunderlich, dass Du kein Ergebnis bekommst, wenn Du ausgerechnet nach dem Zeilenumbruch suchst...

Gruß, MarsStein

Thema: Wie bringe ich einem Computerprogramm die Sprache bei?
Am im Forum: Smalltalk

Hallo,

das hat mich gerade an einen alten Thread erinnert, den wir hier mal hatten, und dessen Thema in dem Zusammenhang auch interessant sein könnte:

Was ist ein Wort?

Viele Grüße

Thema: Grundsatzfrage zur Übergabe von Feldern bzw. Objekten zwischen 2 Klassen
Am im Forum: Grundlagen von C#

Hallo,

ganz sicher ist es nicht das Schlechteste, sich diesbezüglich an die Field Design-Guidelines von Microsoft zu halten - die übrigens ziemlich genau dem entsprechen, was Abt un Taipi88 sagen.

Es werden lediglich 2 Ausnahmen von dieser Regel gemacht, und die betreffen const und static readonly Felder.

Zitat von MSDN
  • DO use constant fields for constants that will never change.
    The compiler burns the values of const fields directly into calling code. Therefore, const values can never be changed without the risk of breaking compatibility.
  • DO use public static readonly fields for predefined object instances.
    If there are predefined instances of the type, declare them as public read-only static fields of the type itself.

Wichtig dabei ist aber, zu beachten, was da auch noch steht:
Zitat von MSDN
  • DO NOT assign instances of mutable types to readonly fields.

Ein Beispiel für solche Ausnahmen wäre etwa folgendes (vorausgesetzt struct Angle ist immutable implementiert):

public struct Angle
{
    // unveränderliche!! Konstanten
    public const double DegreesInRightAngle = 90.0;
    public const double DegreesInStraightAngle = 180.0;
    public const double DegreesInFullTurn = 360.0;

    // vordefinierte Instanzen
    public static readonly Angle RightAngle = Angle.FromDegrees(DegreesInRightAngle);
    public static readonly Angle StraightAngle = Angle.FromDegrees(DegreesInStraightAngle);
    public static readonly Angle FullTurn = Angle.FromDegrees(DegreesInFullTurn);

    // weitere Implementierung der struct
    ...
}

Gruß, MarsStein

Thema: Top-Level-Klassen => Nested Classes
Am im Forum: Grundlagen von C#

Hallo,

dem Link von inflames2k zufolge ist es so:

Zitat
Geschachtelte Top-Level-Klassen oder -Interfaces sind wie die Paketbestandteile direkt für andere Klassen verfügbar. Es ist nicht erforderlich, zunächst ein Exemplar der umgebenden Klasse zu erzeugen.
Wenn das in Java nur geht, wenn die innere Klasse static ist, ergibt das auch einen Sinn.

In C# wären dann aber alle Nested Classes auch geschachtelte Top-Level-Klassen, sobald sie public sind, denn da kann man dann munter drauf zugreifen ohne Instanz der äußeren Klasse.

Gruß, MarsStein

Edit: Ich bin generell wie meine Vorredner der Ansicht, dass diese Java-Bezeichnung im .NET-Umfeld so nicht existieren und nicht übernommen werden sollten. Das ergibt keinen Sinn und stiftet nur Verwirrung.

Thema: C# - Escapesequenzen direkt in C#
Am im Forum: Smalltalk

Hallo,

jop, schon mal gesehen: so stehts auch in der C# Language Specification, Abschnitt E.3.1

Unter Mono kompiliert der Code übrigens nicht, das x kriegt er noch hin, das abc führt zu

Fehler
The name `abc' does not exist in the current context (CS0103)

Gruß, MarsStein

Thema: Top-Level-Klassen => Nested Classes
Am im Forum: Grundlagen von C#

Hallo,

Zitat von json1948
Wird eine verschachtelte Klasse als static deklariert, dann wird sie zu einer verschachtelten Top-Level Klasse.
Wie kommst Du denn darauf, bzw. was soll das überhaupt bedeuten?
Wenn eine Klasse mit dem Modifizierer static deklariert wird, bedeuted das lediglich, dass auch alle ihre Member static sind (bzw. sein müssen) und somit vollständig ohne Erzeugen einer Instanz darauf zugegriffen werden kann.
Von wo aus der Zugriff auf was erlaubt ist, wird weiterhin über die Modifizierer public/private/internal gesteuert.

Eine Nested Class ist aber auf jeden Fall eine Nested Class und bleibt auch eine, egal ob static oder nicht.

Gruß, MarsStein

Thema: Klick Event auf Dynamisch erzeugten Objekten
Am im Forum: Grundlagen von C#

Hallo,

wenn Du ein Click-Event abonnierst, nekommst Du das geklickte Objekt als object sender übergeben.
Dies kannst Du auswerten, um herauszufinden, um welches Control es sich handelt.

Tipp: Halte dir alle Deine dynamischen Controls am besten in einer Liste, darin kannst Du dann nach dem sender suchen.

Gruß, MarsStein

Thema: Funktion, die feststellt, ob eine Zahl eine perfekte Zahl ist gibt nichts aus
Am im Forum: Grundlagen von C#

Hallo,

if (i % zahl == 0) // Teiler gefunden
Nein. Siehe Modulo-Operator

Gruß, MarsStein

Thema: Funktion, die feststellt, ob eine Zahl eine perfekte Zahl ist gibt nichts aus
Am im Forum: Grundlagen von C#

Hallo,

halte Dich an das was Coffeebean und verwende den Debugger! Dann findest Du Deinen Fehler in wenigen Minuten...

Gruß, MarsStein