Laden...
Avatar #avatar-2567.gif
Benutzerbeschreibung
Gegen WinForms - für WPF! Für längere Zeit inaktiv.

Forenbeiträge von zero_x Ingesamt 1.044 Beiträge

04.11.2010 - 16:29 Uhr

Hallo Pico1184,

da, wo man die Mappings zwischen Interfache und Klasse angibt. Mit Unity hatte ich bisher noch keine wirklichen Erfahrungen, d.h. kann ich dir das nicht sagen. Im Grunde muss ja irgendwie spezifiziert werden, welches Interface zu welcher Klasse gehört. Der Rest löst Unity für dich auf. DI bedeutet ja Dependency Injection. Und DI-Container ist dann ja wohl selbsterklärend.

zero_x

04.11.2010 - 15:54 Uhr

Hallo Kyaha,

implementiert der Converter von IMultiValueConverter? Steht was im Output-Fenster?

zero_x

04.11.2010 - 15:44 Uhr

Hallo Kostas,

bezüglich des ConnectionStrings solltest du dir hier das anschauen: [Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0. Welche Fehlermeldung taucht bei dir auf? Wo sind Umlaute?

zero_x

04.11.2010 - 15:25 Uhr

Hallo luus,

solche Fragen wurden bereits mehrere mals bei uns im Forum besprochen. Verwende bitte die Forensuche. Stichwort: Hook.

zero_x

04.11.2010 - 15:20 Uhr

Hallo zusammen,

ein weiteres Feature, was ich mir wünsche: Events in object and collection initializers.

In C# I very often use the object and collection initializers. If I have for example a class, I write following:

List<Person> people = new List<Person>  
{  
    new Person { Firstname="Daniel", Age=17 },  
    new Person { Firstname="Eric", Age=28 }  
}  
  

I also use a similar syntax on events. Here an example:

MyEvent += (s,e) =>  
{  
    // Operation.  
}  

As you can see these syntaxes are very similar. Unfortunally, it is not possible to mix these two syntaxes together. I think this would be a very great feature! Here an example which I could imagine:

List<Person> people = new List<Person>  
{  
    new Person  
    {  
        Firstname="Daniel",  
        Age=17,  
        OnAgeChanged += (s,e) =>  
        {  
            MessageBox.Show("Happy Birthday!");  
        }  
    },  
    new Person { /* ... */ }  
};  

Why does C# not support this feature?

zero_x

04.11.2010 - 11:43 Uhr

Hallo Shinzo,

was spricht gegen die BitConverter-Klasse?

zero_x

04.11.2010 - 10:29 Uhr

Hallo winmike,

was sollen wir dazu sagen? Das ist nunmal ein Framework. Das Framework ist sehr tiefgründig und arbeitet halt so. Irgendwie muss ja ein Framework programmiert werden. Wenn du sowas wie CCD meinst, dann kann ich dir sagen: Nein.

zero_x

04.11.2010 - 10:24 Uhr

Hallo regarding,

eine Ferndiagnose zu stellen ist sehr schwierig. Ich kann dir auf dem Stehgreif nicht sagen, wo das Problem ist. Ich vermute mal, dass im Speicher irgendwas voll läuft, sodass es zu dieser Exception kommt. Am besten ist es, wenn du mal mit einem Profiler mal schaust, wo das Problem ist. Es wäre auch möglich, dass WPF nicht dran schuld ist, sondern die Funktion, mit der auf die Sensorwerte zugegriffen wird.

zero_x

03.11.2010 - 11:41 Uhr

Hallo reloop,

du musst ja spezifizieren, dass bei bestimmten Eingeben nichts passieren soll. Weil du das Verhlaten haben möchtest, musst du es ja irgendwie angeben. Dir bleibt wohl nichts anderes übrig. Was du noch machen könntest, wäre, dass du alle Eingeben außer XY behandelst. Bei dem "außer" führst du dann ein return; aus.

zero_x

03.11.2010 - 10:09 Uhr

Hallo Alf_57,

ich kann dir das Buch Entwurfsmuster von Kopf bis Fuß empfehlen.

Siehe auch Suche Buch zu Entwurfsmustern.

zero_x

03.11.2010 - 08:10 Uhr

Hallo binaryblob,

du findest überall Informationen. Mal auf CodeProject geschaut? Ansonsten googeln.

zero_x

03.11.2010 - 07:52 Uhr

Hallo binaryblob,

das ist doch wirklich nicht schwer. Die Daten zeigst du auf einem DataGridView an und mit LINQ to SQL modifizierst du die Daten. Dazu stellt LINQ to SQL die nötigen Methoden bereit. Lies dich am besten erstmal ins Thema ein.

zero_x

02.11.2010 - 17:24 Uhr

Hallo wpb,

in den Eigenschaften deines Projekts. Rechtsklick => Eigenschaften => Anwendung.

zero_x

02.11.2010 - 17:22 Uhr

Hallo Grumbler85,

verwende statt List<T> lieber ObservableCollection<T>. Der Grund ist, dass wenn sich Daten ändern, also Daten gelöscht oder hinzugefügt werden, diese nicht automatisch auf der Oberfläche aktualisiert werden. Dann bindest du deine Daten. Wie das genau geht, hat dir gfoidl schon gesagt.

zero_x

02.11.2010 - 17:19 Uhr

Hallo wpb,

füg mal die Referenz System.Web hinzu. Das Problem ist wahrscheinlich, dass die Assembly eine andere Assembly braucht, damit sie funktionieren kann.

zero_x

02.11.2010 - 15:08 Uhr

Hallo MarsStein,

eine Klasse kann nicht null sein, das stimmt. Damit meine ich aber die Instanz, also das Objekt. Meine Aussage war aber auf einen anderen Zusammenhang bezogen. Ich meinte das nicht so wie in deinem Beispiel. In der Regel setzt man Timer so ein, dass diese nicht in einer Methode ihre Lebenszeit verlieren.

zero_x

02.11.2010 - 13:44 Uhr

Hallo Maddy,

die Idee finde ich sehr schlecht. Kannst du mir sagen, warum du das machen möchtest? Ich sehe da keine Vorteile. Hilft dir hier das weiter?

zero_x

02.11.2010 - 13:41 Uhr

Hallo cemolade,

pack die Datei einfach die Ressourcen deiner Anwendungen. Beim Starten der Anwendung lädst du die Datei. Siehe auch [Artikel] Resourcen in .NET Assemblies.

zero_x

02.11.2010 - 11:31 Uhr

Hallo vandango,

vielleicht mag der Server den WebClient nicht. Hast du mal versucht einen anderen User-Agent anzugeben?

zero_x

02.11.2010 - 11:28 Uhr

Hallo wpf23,

warum greifst du nicht einfach direkt auf das Control zu? So ist es am einfachsten und du musst nicht rechnen. Ansonsten binde an ein Property und lies es aus.

zero_x

02.11.2010 - 11:27 Uhr

Hallo Carjac,

die, die vor mir gepostet haben, haben einige Links gepostet. Hast du dir mal die Links abgeschaut? Dir sollten dir auf jeden Fall weiterhelfen.

zero_x

02.11.2010 - 10:12 Uhr

Hallo vandango,

über welches Tool redest du? Kannst du uns mehr Informationen gehen? Wir können dir ansonsten nicht weiterhelfen.

Wenn du als Response 403 Forbidden bekommst, kann das nur bedeuten, dass du keine Berechtigungen hast.

zero_x

02.11.2010 - 10:06 Uhr

Hallo Franklin,

das, was du machst, ist sehr aufwendig. Stichwort: O/R-Mapper. Damit sparst du dir das.

Warum packst du den String nicht einfach "auf" die Form1? Also so:

public partial class Form1 : Form
{
    string query = "SELECT * ... ";
    public Form1() { /* ... */ }
}

zero_x

02.11.2010 - 10:00 Uhr

Hallo kleines_eichhoernchen,

vorsicht, der GC kann die Referenz erst wegräumen, wenn die Klasse auch null ist und keine weiteren Referenzen auf diese verweisen! Um ein wenig Werbung für meinen Blog zu machen: Ist null immer null?.

zero_x

02.11.2010 - 09:58 Uhr

Hallo masterchris_99,

du musst halt immer eine neue Instanz anlegen, sonst kommt es zu einer NullReferenceException. Weil du ja Klassen in Klassen hast, musst du jeweils über diese zugreifen. Ohne meinen Code jetzt getestet zu haben:

Konfiguration conf = new Konfiguration();
conf.AttributeCollection = new AttributeCollection();

Besser wäre es natürlich, wenn die Konfiguration-Klasse intern bzw. im Konstruktor eine Instanz von _AttributeCollection _anlegt.

Aber mal abgesehen davon, hast du dir mal hier das abgeschaut [Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0? Nicht, dass du noch in eine Falle läufst. Das Rad sollte man auch nicht immer neu erfinden!

zero_x

01.11.2010 - 22:44 Uhr

Hallo inek,

warum so kompliziert? Verwende einfach die Timer-Klasse und fertig. Beachte, dass es mehrere Timer im .NET Framework gibt. Du musst für deine Zwecke den WinForms-Timer verwenden.

zero_x

01.11.2010 - 16:46 Uhr

Hallo inek,

wie wäre es mit F12?

zero_x

01.11.2010 - 16:18 Uhr

Hallo HeinzTomato,

bietet LoadCustomerResult dazu keine Möglichkeit? Wie greifst du auf die Datenbank zu? Welchen Sinn hat eigentlich dein Code? Für mich sieht es mehr nach Unsinn aus.

zero_x

01.11.2010 - 12:11 Uhr

Hallo stefan123,

es geht nicht darum ein Pattern zu verwenden, sondern ein Pattern geschikt einzusetzen, um Problemen zu entgehen. Es muss immer einen Grund haben. Ich kann dir die Frage nicht beantworten, weil einfach zu wenig Hintergrundinformationen von dir gegeben sind. Wenn du es brauchst, dann verwende es, wenn du es nicht brauchst, verwende es nicht.

zero_x

31.10.2010 - 22:51 Uhr

Hallo Tott666,

um auf IIS oder den lokalen Entwicklungsserver PHP laufen zu lassen, brauchst du eine Extensions. Unter IIS ist das möglich. Wie es aber unter den lokalen Entwicklungsserver von Visual Studio aussieht, kann ich dir leider nicht sagen. Vielleicht findest du ja weitere Informationen, wenn du in die Richtig recherchierst.

zero_x

31.10.2010 - 20:45 Uhr

Hallo andreason,

ich vermute mal, dass du über den _DataContext _bindest. Talla sagt aber, dass du über den CollectionViewSource binden sollst, weil du da die Möglichkeit hast, _SortDescriptions _festzulegen. Alternativ kannst du direkt an der ObservableCollection<T>-Klasse mit CollectionViewSource.GetDefaultView Änderungen vornehmen.

zero_x

31.10.2010 - 20:23 Uhr

Hallo Ahrimaan,

zuerst muss man klären, wo der Unterschied zwischen IoC und DI ist. Erst dann kann man sich die Frage stellen, ob MEF überhaupt ein IoC- oder DI-Container ist.

IoC ist in meinen Augen das Prinzip oder mehr das Paradigma. Damit sagt man, wie etwas zu funktionieren hat. IoC ist also nur die Beschreibung. Mehr nicht. DI ist für mich das konkrete, das "erweiterte" IoC. Man sagt auch Dependency Injection, also Injection für Auflösen der Abhänigkeiten. Damit ist das "wie" gemeint. Wie werden die Abhänigkeiten injiziert? Das wäre DI.

DI und IoC bauen also aufeinander auf. MEF erfüllt beides. Ich würde eher sagen, dass es ein DI-Container ist. MEF arbeitet wie auch ein DI-Container. Der Zweck von MEF ist aber nicht, diesen als IoC/DI-Container zu verwenden, sondern um damit Anwendungen zu erweitern. Um Anwendungen erweitern zu können, brauchen wir genau dieses Prinzip. Jetzt stellt sich aber die Frage, ob man MEF dazu überhaupt verwenden soll!

Glenn Block hat darüber zwei Beiträge geschrieben(hier und hier). Dort schildert er genau, wo die Unterschiede bzw. ob MEF überhaupt ein IoC/DI-Container ist.

Denken wir weiter über das Thema, stellt sich die Frage, ob wir statt "normalen" IoC/DI-Container nicht einfach MEF verwenden können. Wir sagen also, dass MEF die gleichen Voraussetzungen wie LightCore, Unity, AutoFac, ect ... hat. Die Antwort darauf zu finden, ist ein wenig schwieriger. Auf StackOverflow findest du einige Antworten darauf. Vielleicht helfen dir die weiter.

Noch schlimmer: MEF zu anderen IoC/DI-Container zu mischen wird auch keine gute Idee sein. So weit möchte ich aber nichts ins Detail eingehen. Stichwort: CLS, Common Service Locator, Pattern & Practices, MSDN, p&p.

Siehe auch
DI/IoC - In wie Weit Klassen selbst instanziieren?
In wie weit man Abhängigkeiten auflösen sollte
Unterschied zwischen IoC Container und DI Container

zero_x

31.10.2010 - 16:46 Uhr

Hallo Ahrimaan,

in anderen Worten: Pack alle Interfaces in eine Library. Diese Library kann von anderen Extensions referenziert werden. Der Vorteil ist, dass die Extensions nur das Interface kennen, die konkrete Implementierung allerdings nicht. Dort packst du wirklich alle Interfaces rein. Die Extensions exportieren sich dann selbst auf das Interface oder importieren selber andere Extensions.

Der Container löst ja eh alle Abhänigkeiten, da brauchst du dir also keine Sorgen machen. Du importierst, was du brauchst, du exportierst, was die anderen brauchen.

Das Thema "Dependency Injection" ist ein Thema für sich. An der Stelle würde ich lieber einen weiteren Thread eröffnen. Das wäre eine Diskussion für sich. Ob MEF jetzt ein IoC- oder ein DI-Container ist, ist halt die Frage ... . Aber das lassen wir mal lieber außen vor.

zero_x

31.10.2010 - 14:21 Uhr

Hallo Ahrimaan,

exportiere _HaymarketFileReader _als IFileReader. _IFileReader _packst du am besten in eine sparate Library. Die anderen DLLs referenzierst du auf diese Library und importierst das Interface. In der Hauptanwendung sagst du, dass auch diese Library - neben den anderen auch - verwendet verwenden soll. Alles packst du dann also in einen Container. Stichwort: AggregateCatalog.

zero_x

31.10.2010 - 14:00 Uhr

Hallo reloop,

ich würde vermuten, dass es an der ObservableCollection<T> liegt. Versuch mal nicht direkt auf die ItemsSource zuzugreifen, sondern direkt die Daten in der ObservableCollection<T> zu ändern. Dann sollte es eigentlich funktionieren. Noch besser ist es, wenn du dazu ein attached Property programmiert. Mit diesen attached Property kannst du noch einfacher die Daten sortieren. Hier habe ich sogar ein nettes Beispiel gefunden, wie man sowas programmieren kann. Aber wie schon gesagt - verwende lieber die CollectionViewSource.

31.10.2010 - 13:48 Uhr

Hallo reloop,

hat sich damit dein Problem gelöst? Wenn ja, kannst du bitte beschreiben, wo der Fehler lag? Für die anderen wäre es sicherlich interessant zu wissen, wie du dein Problem gelöst hast.

zero_x

31.10.2010 - 13:46 Uhr

Hallo Ahrimaan,

dein Text ist sehr unverständlich formuliert. Kannst du uns ein wenig Beispielcode zeigen? Ich würde an deiner Stelle soviel wie möglich abstrahieren, so dass man mehr Flexibilität hat. Aber so richtig habe ich immer noch nicht verstanden, wo genau dein Problem liegt.

zero_x

31.10.2010 - 13:29 Uhr

Hallo reloop,

verwende stattdessen lieber eine CollectionViewSource.

zero_x

31.10.2010 - 12:26 Uhr

Hallo winSharp93,

wobei ReSharper meines Wissens nach ein kostenpflichtiges Tool ist.

zero_x

31.10.2010 - 12:22 Uhr

Hallo inek,

wie gfoidl schon sagte, du musst ein neues Snippet anlegen und dort den Code reinschreiben. Schau dir am besten mal die Snippets an, die es in Visual Studio out of the box gibt. Die kannst du dann nach belieben umschreiben. Eine andere Möglichkeit wäre eine neue Vorlage. Also du legst dann eine spezielle Klasse an. Diese spezielle Klasse beinhaltet dann automatisch die Kommentare.

zero_x

30.10.2010 - 23:21 Uhr

Hallo blutiger_anfänger,

wie wäre es mit AppDomain.CurrentDomain.UnhandledException?

zero_x

30.10.2010 - 16:24 Uhr

Hallo inflames2k,

das Projekt bzw. die Idee finde ich nicht ganz so gut. Ich habe mir persönlich selber mal Gedanken über das Thema gemacht und denke so an Richtung T4. Mit dynamic in .NET 4 könnte man das auch ganz gut regeln. Aber ansonsten kann ich mich talla nur anschließen.

zero_x

29.10.2010 - 20:35 Uhr

Hallo ky_fr34k,

du baust dir einen WebRequest zusammen und schichst den ab. Das mit den Umlauten sollte eigentlich kein Problem sein.

zero_x

29.10.2010 - 09:32 Uhr

Hallo zusammen,

kürzlich kam ich auf die Idee mit generischen Attributen. Es hört sich ein wenig übertrieben an, aber wenn man sich das durch den Kopf gehen lässt, wird einen einiges klarar und man versteht, dass es doch einen Nutzen gibt. Ich habe bei bei Microsoft die Anfrage gestellt - mal sehen, was die dazu sagen. Hier findet ihr weitere Informationen: Generic attributes.

Hier noch kurz das Beispiel, das ich dort auch gepostet habe:

For my own purposes, I need a generic attribute. For example, I have an attribute "ValidateWithCondition" where I can specify a condition for a validation rule. Furthermore, it should be possible to declare a LINQ expression. Here an example:

[ValidateWithCondiation<IMyValidationRuleInterface>( () => ... > ( ) ]

Another practice would be a generic condition or expression instead of writing the Type(Sytem.Type, i.e. typeof()).

I would like to know if there as been any other request concerning generic attributes. I wonder why this is not a built-in feature.

Was meint ihr dazu? Für mich wäre sowas wirklich toll, weil es immer einige Situationen gibt, wo genau so was richtig praktisch ist.

zero_x

28.10.2010 - 17:40 Uhr

Hallo munchflo,

wir als Forum machen keine Hausaufgaben oder ähnliches in der Art. Das mit dem Thema Heap und Stack hast du wohl falsch verstanden oder der Lehrer hat dir das falsch erklärt. Alle Referenztypen kommen auf den Heap, die Wertetypen hingegen auf den Stack.

zero_x

28.10.2010 - 17:37 Uhr

Hallo MrSparkle,

der Designer gibt oft Fehlermeldungen aus, die eigentlich keine Fehlermeldungen sind. Du kannst die Fehlermeldungen getrost ignorieren. Wenn die Assembly sich kompilieren lässt, dann ist alles okay. Ansonsten kannst du im Output-Fenster schauen, ob irgendwelche Bindings nicht funktionieren. Empfehlen kann ich dir den WPFInspector.

zero_x

28.10.2010 - 13:44 Uhr

Hallo baer999,

verwende doch bitte die Forensuche. Die nötigen Begriffe habe ich bereits genannt.

zero_x

28.10.2010 - 09:39 Uhr

Hallo matze2k2,

das DataSet in LINQ to SQL brauchst du nicht! Das einzige, was du brauchst, ist die DataContext-Klasse. Über die Klasse greifst du dann direkt auf die Daten zu und kannst diese modifizieren oder abfragen.

Im "Data Source"-Fenster von Visual Studio kannst du dir sogar die Daten auf der Oberfläche generieren lassen. So sparst du dir sogar das aufwendige programmieren und Abfragen. Der Designer in Visual Studio kann schon einiges. Das nur mal so nebenbei.

zero_x

28.10.2010 - 09:34 Uhr

Hallo xrc7581,

hat sich dein Problem inzwischen gelöst oder besteht das Problem immer noch? Was ist _mnuEKPreiseZeigen _ein "normales" WinForms/WPF-Control oder hast du es selber programmiert? Vielleicht liegt es daran, dass - wenn du das Control selbst programmiert hast - in _Checked _irgendwas passiert, wodurch die StackOverflowException geworfen wird. Ansonsten schau mal im StackTrace nach.

Abgesehen von deinem Problem, ist es einfacher, wenn du folgendes schreibst:

myCheckBox.Checked = !myCheckBox.Checked;

Ansonsten ist es doppelt gemoppelt.

zero_x

28.10.2010 - 09:30 Uhr

Hallo Floste,

es wäre nett, wenn du dein Beispielprojekt in den .NET-Komponenten und C#-Snippets veröffentlichen kannst. Andere, die danach suchen, wären bestimmt froh, wenn sie sowas finden. Es gibt bestimmt Interessenten.

zero_x