Golo Roden erwähnte es bereits in den Kommentaren, daher möchte ich noch mal genauer darauf eingehen.
Dazu erstelle ich eine Solution in Visual Studio 2010 mit einer Konsolenapplikation, welche ich „DefaultValues“ nenne. C#4.0 – Problematik bei Default Values weiterlesen
Autor: Björn
C# 4.0 – Default Values und Delegates
Mit C# 4.0 gibt es sogenannte Default Values. Das heißt, ich kann den Parametern bei einem Methodenaufruf bereits definierte Werte mitgeben.
Beispiel:
void Foobar(string valueWithoutDefaultValue, string valueWithDefaultValue = "Ich bin ein Default Value") { // .. }
Ich kann den 2. Parameter nun mit geben oder es eben sein lassen. Mehr dazu findet ihr hier. Nun wollte ich dies bei einem Delegaten ausnutzen. Der Delegate feuert nur mit einem Parameter, die Methode hat aber zwei Parameter, wobei der zweite einen Defaultwert hat.
public delegate void DelegateFoobar(string text); public event DelegateFoobar foobarEvent;
Dies funktioniert nicht, der Compiler spuckt folgende Fehlermeldung:
No overload for 'Foobar' matches delegate 'TestApp.Classes.Test.foobarEvent'
Schade eigentlich, denn meiner Interpretation nach sollte es funktionieren. Gelöst habe ich es mit eine Lambda Expression:
testclass.foobarEvent += str => this.Foobar(str);
Funktioniert ohne Probleme.
ShowDialog() verzögert Applikation
Gestern bin ich mal wieder über das selbe Problem wie damals gestoßen. Ich hab es damals nicht weiter erläutert. Und zwar sollte auf Knopfdruck eine Form erscheinen, welche über den ganzen Bildschirm geht, womit der Benutzer interagieren kann. Im Prinzip bestand die Form nur aus einer PictureBox und er sollte dort einen Bereich auswählen.
Lasse ich mir die Form per Show() anzeigen habe ich keine Probleme, per ShowDialog() hängt er jeweils 4 Sekunden (geschätzt).
Diese 4 Sekunden reichen aber dem normalen Benutzer schon aus, um sich darüber zu beschweren.
Gelöst habe ich es wieder einmal mit einem Show() und einen Closed-Event. Zusammen mit TopMost hatte ich den gewünschten Effekt. Erklären kann ich es mir dennoch und vor allem immer noch nicht.
(Wenn Interesse besteht, lade ich mal eine Beispielsolution hoch).
Antwort auf meinen Bugreport
Vor ein paar Tagen berichtete ich von meinem Bugreport. Nun hat mir Charles Johnson eine Mail gesendet und sich für den Bugreport und auch noch für die Lösung bedankt und das dies Teil der nächsten Version sein wird. Aktuell wurde es bereits in die Developer-Version eingebaut 🙂
Dort steht nun in der Datei:
function syndication_permalink ($permalink = '') { global $feedwordpress_the_original_permalink; // Save the local permalink in case we need to retrieve it later. $feedwordpress_the_original_permalink = $permalink; // Map this permalink to a post ID so we can get the correct permalink // even outside of the Post Loop. Props Björn. $id = url_to_postid($permalink);
Ja Leute, nun werde ich berühmt 🙂
File Transfer Planer – FTP
Aktuell arbeite ich an eine kleinen Applikation, welche ich „File Transfer Planer“ getauft habe. Mit dieser wird es möglich sein, zeitgesteuert Dateien auf einen FTP zu schieben oder eben herunter zu laden.
Das Backend steht zum Teil, einen Teil der GUI ebenfalls, daher mal ein paar Screenshots.
Die GUI ist nicht mehr ganz so aktuell. Aktuell bin ich mir noch nicht so sicher, wie ich die Daten speicher, momentan tendiere ich dazu, die Daten als XML-Datei auf der Platte zu speichern.