y-vonne schrieb:
Mit neu gewonnenen Kentnissen frage ich mich aber ob es nicht eher sinnvoll ist die Objekte vom EF direkt als Model für das MVVM zu verwenden. Was meint ihr?
Prinzipiell ist dies möglich, ja nach gewählten Design und Anforderungen. Eine direkte Antwort wirst du daher wohl kaum erhalten.
Ich würde es von mehreren Faktoren abhängig machen:
a) Wieviele Abhängigkeiten verschafft man sich.
Beispielsweise wären bei CodeFirst die Abhängigkeiten sehr gering, da die Klassen in diesem Ansatz sehr eigenständig sind, und eigentlich keinerlei Abhängigkeiten besitzen; nei den andern beiden Ansätzen können, soviel ich weiß, die Abhängigkeiten wesentlich größer sein [Über Vererbung etc.].
b) Welche Form von Schichtentrennung ist ggf. zu berücksichtigen (z.B. gleichzeitige Unterstützung von ASP.Net und WPF-Clients...)? Wie sehr bindet man sich damit an die Datenzugriffsschicht?
LordJaxom schrieb:
Die beiden Sprachen sind 1:1 ineinander übersetzbar, es sind also wirklich nur Syntaxfragen.
Naja es geht auch um verfügbare Tools, verfügbare Code-Beispiele etc.
loks schrieb:
Credits to Google.
...
Leider keine Lösung. Nach einem Timeout läuft das Delegat asynchron weiter und wartet in dem Fall also auf die nächste Benutzereingabe. Die ist damit verloren.
µ schrieb:
Wenn Du ein List<valist> serialisierst, muss
List<valist> vas = Ser.Deserialize<valist>(buffer);
wie folgt aussehen:
List<valist> vas = Ser.Deserialize<List<valist>>(buffer);
Immer genau auf den Typ achten.
Perfekt, danke!
schonmal danke für deine hilfe
also kann ich auf die xml nur zugreifen wenn mir die dtd zur verfügung steht?
gibt es keine methode, welche die dtd automatisch bereit stellt?
und die 2. möglichkeit ist dann die xml erst lokal zu speichern und die dtd raus zu nehmen? kann das nicht zu fehlern führen?
die xml wird von nem server bei mir zu hause erzeugt auf dem einiges läuft (ts, ftp, ...). in der xml kann ich mir von diesen "channels" diverse werte ausgeben lassen z.b. den channelstate der mir angibt ob alles läuft oder ein fehler aufgetreten ist. die xml wird permanent akutalisiert.
möchte mir nun etwas schreiben, dass die xml z.b. jede stunde prüft und mir wenn was schief läuft z.b. ne mail schickt.
O.o schrieb:
Active Direcotry, WCF
Wenn du mir sagst was bitte schön Active Directory mit Einzelplatz, ASP.Net und Datenbankzugriffen zu tun hat (Einzelplatz auch im Sinne von das der Client nichts mit einem Firmennetzwerk zu tun haben muss)?
ok 2. problem auch gelöst ...
lag dran das ich in der funktion insertBlob die falsche zeile selectiert hatte ... naja nu hab ich die id angegeben die ich auch rein schreibe nu geht es ...
Binde doch die Breite an den ConverterParameter.
//Dazu
Mir fällt ein das man ConverterParameter nicht binden kann.
Erstell einfach noch ein Binding in den MultiValueConverter und binde dort die Breite rein.
Im Konverter hast du dann
StartTime
EndTime
PageWidth
Ich vermute, du willst eher auf so etwas hinaus:
public class Form1 : Form
{
// Benutzeraktion an die Businesslogik weiterleiten.
private void button1.Click(object sender, EventArgs e)
{
myBusinessObject1.ToggleProperty = !myBusinessObject.ToggleProperty;
}
// Veränderungen in der Businesslogik auf der Oberfläche anzeigen.
override OnLoad()
{
myBusinessObject1.TogglePropertyChanged += MyBusinessObject1_TogglePropertyChanged;
}
private void MyBusinessObject1_TogglePropertyChanged(object sender, EventArgs e)
{
if(myBusinessObject.ToggleProperty)
{
button1.BackColor = Color.Green;
}
else
{
button1.BackColor = Color.Azure;
}
}
}
public class MyBusinessObject
{
public bool ToggleProperty
{
get { return(_toggleProperty); }
set {
_toggleProperty = value;
if(TogglePropertyChanged != null)
TogglePropertyChanged(this, new EventArgs());
}
}
}
Durch Drücken des Buttons (GUI) wird eine Property (BL) verändert. Ein zugehöriger Event (BL) schiebt seinen Event Handler (GUI) an.
Die Entkopplung besteht darin, dass die Businesslogik nichts von der Oberfläche wissen muss. Der Eventhandler könnte genausogut fehlen. Ebenso könnte der Event auch von anderswo oder von mehreren Stellen im Programm abonniert worden sein.
a) Es ergibt keinen Sinn, den Interface implementierenden Klassen interne Details aufzuzwingen. Ein Interface ist ein Vertrag über die öffentliche Schnittstelle zwischen Implementierer und Client. Bitte zeig mal ein Beispiel, wo Du eine protected Methode in Interfaces für sinnvoll erachtest.
Klassen gewisse Verarbeitungsschritte aufzuzwingen hört sich nach dem Template-Method-Muster an. Das ist aber nur sinnvoll wenn die (evtl. abstrakte) Basisklasse bereits Code beinhaltet. Ein Interface dagegen kann keinen Code beinhalten. Somit kann weder das Interface die überschriebene protected Methode aufrufen, noch könnte der Implementierer gezwungen werden, in irgendeiner Art und Weise, die protected Methoden zu verwenden.
b) Im Beispiel gibt es keinen Unterschied. Feldinitialisierer können aber nicht auf andere nicht-statische Felder oder Methoden zugreifen. Falls das bei der Initialisierung notwendig ist, muss sie im Konstruktor stattfinden
Nur zur Erklärung: mit GetLength(n) bekommt man die Länge der n-ten Dimension des Arrays zurück Das ist für mehrdimensionale Arrays wichtig. "Normale Arrays" sind eindimensional und da würde nur GetLength(0) funktionieren.