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 Seikilos
Thema: [erledigt] Wie letztes element von Typ T aus collection selektieren?
Am im Forum: Datentechnologien

Stimmt, ich denke ich habe es immer mit Count<>() also leeren spitzen Klammern versucht, was nicht ging. Intellisense zeigt mir nämlich Count() gar nicht als Methode an, daher hab ich es wahrscheinlich auch nicht probiert.

Nun alles gelöst, vielen dank :)

Thema: [erledigt] Wie letztes element von Typ T aus collection selektieren?
Am im Forum: Datentechnologien

Hallo,
mal was nebenbei ohne einen extra Thread zu öffnen. Wenn ich so etwas wie OfType uf eine Collection mache a là
collection.OfType<T>() und darauf ein Count machen möchte, muss ich ja explizit beim Count auch ein T angeben, ist das so richtig? Oder gibt es da einen Trick über implizite Typisierung? Ich mein collection.OfType<T>().Count<Was wohl?>() sollte ja irgendwie defaultbar zu T sein, außer ich will einen parent typen oder so

Thema: [erledigt] Wie letztes element von Typ T aus collection selektieren?
Am im Forum: Datentechnologien

Oh, genial, habe ich übersehen, ich habe bei Intellisense nur bei .Last rumgelungert.

Danke!

Thema: [erledigt] Wie letztes element von Typ T aus collection selektieren?
Am im Forum: Datentechnologien

Ich habe eine Collection, die aus beliebigen Untertypen von einer Klasse X bestehen kann.

Ich suche nun ein LINQ Query bei dem ich das Letzte Element aus einer Collection selektiere, das vom Typ T ist.

Geht es anders, als über ein (from x in collection where x is T select x).Last<T>() ?

Thema: Generic: Cannot convert "MeinTyp" to 'T' ?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das mit Object kompiliert. Werde ich testen. Danke.

Aber verwirrend ist es dennoch. Ich kenne das von C++ dass erst der konkrete Template Parameter zur Kompilierung benutzt wird und erst dann wird mit dem bekannten Typ geprüft, ob das, was ich fabriziert habe auch kompiliert

Thema: Generic: Cannot convert "MeinTyp" to 'T' ?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe ein Verständnisproblem bei den Generics in dieser Methode:

 protected void creteElement<T>(CreatorBase creator)
      {
        
            T t = (T)(creator.CreateIt());
      }

Das wirft mir die Meldung:

Cannot convert type "MeinTyp" to 'T'

Das sagt er mir bei der definition der Methode. Woher will er dass denn wissen? Ich hab doch noch keine konkrete Instatiierung dieser Methoden mit einem Template Parameter gemacht. Er kann doch T im Moment noch garnicht auflösen.

Die Methode ist so in einer nicht generischen Klasse untergebracht. Ist das das Problem?

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Hallo,
ich habe hier eine schöne Wrapper Klasse gefunden:
http://www.elitepvpers.de/forum/epvp-coders/118712-c-windows-api.html

Ich hab die User32 Funktionalität von DaMoe 80 dazu gepackt und kann nun Tastenbefehle an Fenster senden.

Danke für die Hilfe :)

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Achso, jetzt verstehe ich.

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Zitat von Khalid
Na da hoff ich doch mal, dass das Ding nur für private Testzwecke genutzt wird... Wobei das so schon gegen die Lizenz verstoßen sollte.
Was meinst du?

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Hallo,
danke für den Code.
Was mir nicht klar ist, weil ich mich mit WinApi nicht auskenne: Wie kann ich zum Beispiel auf Ok oder "Abort" oder "Abbrechen" bei so einer Anwendung klicken?
Über Forms hätte ich das Element ja gefunden, aber so bin ich unsicher.

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Hmm ok, aber wie komme ich an die innereien eines Win32 Handles?
Ich würde sehr ungerne auf WinApi zurückgreifen müssen

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Also MessageBox ist ja Modal und ich bin gerade in einem Integrationstest bei dem das Verhalten einer Komponente getestet wird. Units wurden schon getestet, aber die Kombination von Logik, GUI(Modale MessageBox), Folgelogik sind noch nicht verifiziert.

Nun ploppt im automatisierten Test quasi eine Messagebox auf, was ja nicht so hilfreich ist.

Im Testcase mache ich vor dem Aufruf, der zu der Messagebox führt einen Timer auf, der nach einer Sekunde aufgerufen wird. Sprich
1. timer start
2. modale box wartet
3. callback des timers greift.

Meine Hoffnung war nun, dass im callback des Timers über Application.OpenForms oder so auf das modale Fenster im Vordergrund komme.
Nur finde ich das modale fenster einfach nicht

Thema: Wie bekomme ich ein Handle aufs aktuell fokusierte Fenster?
Am im Forum: GUI: Windows-Forms

Ich habe eine Applikation die ab und zu Messageboxes generiert. Nun habe ich parallel einen Thread, der ein paar Werte sammeln muss.
Dafür benötige ich jedoch ein Handle auf das aktive fenster. Gibt es da so etwas wie Application.FocusedWindow? Ich kann die Logik der Applikation selber nicht modifizieren, so dass die irgendwo immer ein Flag setzt, wenn ein modales Fenster erzeugt wird.

Ich bin hier also auf die C# Funktionalität angewiesen

Thema: Event -= wirft eine NullReferenceException
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Scheiße! Anfängerfehler§$%§

Ich hab da noch durch gesteppt und gedacht "Property Getter wird aufgerufen, alles gut soweit"

Ich glaub ich mach mal ne Pause.

Danke :)

Thema: Event -= wirft eine NullReferenceException
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Tippfehler ja. Sorry beides klein geschrieben.

Ich korrigiere das mal

Thema: Event -= wirft eine NullReferenceException
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,
ich muss sicherstellen, das ich bei einem Event immer nur einmal den gleichen Handler registriere. Gleichzeitig muss das remove save sein. Sprich wenn ein Benutzer
Event -= seinHandler macht, darf da nichts fliegen.

Das wird benötigt, weil nicht garantiert werden kann, ob das remove nach dem add kommt oder nicht.
Folgender Code funktioniert jedoch nicht, das -= wirft eine Exception Object reference not set to an instance of an object.


 protected PropertyChangedEventHandler _foo;
      public event PropertyChangedEventHandler foo
      {
         add
         {
            if (_foo== null ||  _foo.GetInvocationList().Contains(value) == false)
            {
               _foo+= value;
            }
         }
         remove
         {
            // Save remove
            if (_foo!= null && _foo.GetInvocationList().Contains(value) == true)
            {
               _foo-= value;
            }
         }
      }

Ein Breakpoint beim Remove wird jedoch nie angesprungen wenn ich in einer anderen Klasse

 Parent.foo-= Parent_Foo;
aufrufe.
Muss das Event vorher irgendwie existieren?
Edit: Typo korrigiert

Thema: Kann Visual Studio strings aus Projekt für Lokalisierung extrahieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Klingt gut, danke :)

Thema: Kann Visual Studio strings aus Projekt für Lokalisierung extrahieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
ich hatte da mal was im Hinterkopf, bin nun aber unsicher.

Bietet Visual Studio eine Möglichkeit, Stringliterale im Code irgendwie zu sammeln und zu extrahieren um Support für Lokalisierungen zu vereinfachen?
Ich hab ein Projekt, wo viele Strings verwendet worden sind und lokaliseren ist jetzt erstmal total unspassig weil ich durch ne Menge von Code durch muss um Strings zu finden.

Thema: Wozu kann man event return values nutzen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

was ich eigentlich Suche ist eine Art Visitor Konzept, das wie folgt funktioniert: Es gibt ein Event auf das sich mehrere Handler registrieren können. Wenn das Event gefeuert wird, soll jeder Handler der Reihe nach aufgerufen werden.
Dabei soll jedoch jeder Handler entscheiden dürfen, ob die weitere Ausführung der Verarbeitung abgebrochen werden soll oder nicht.

Einfaches Beispiel:



public delegate bool Val(Data d);
public event Val ValidateData;

if(ValidateData(data))
{
   // Arbeite mit den Daten
}


ValidateData soll ein event sein, auf das sich eine beliebige Menge an Handlern aufschalten können. Wenn einer der Handler aber false returned, dann soll die komplette Verarbeitung der Kette oder alternative nur das Endergebnis von ValidateData false liefern.

Das erste Ansatz benötigt mehr logik, es muss quasi immer geprüft werden, ob der nächste Handler aufgerufen werden soll, oder nicht.

Der zweite Ansatz sollte (dachte ich) mit einem Event, der ein bool returned erschlagen werden können.
Allerdings verstehe ich den nutzen von solchen returns nicht.
Ich gehe doch richtig in der Annahme, das wenn 2 Handler auf einem Event mit einem Bool lauschen und der Reihe nach abgearbeitet werden, so ist das Ergebnis des Events immer das return des letzten Handlers, oder?

Sprich wenn der erste Handler false, aber der zweite true returned, so ist das Event mit einem true beendet worden.

Kann man hier die Ergebnisse auf irgendeine Art und Weise aggreggieren? also definieren, dass der bool, der returned wird über && aggregiert wird, oder so?

Thema: Unit Test, wie krieg ich den Namen des Zielverzeichnisses raus?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Also die TestDLL wird ins gleiche Bin verzeichnis generiert, wie alle anderen und dann temporär kopiert.

Ich habe im MSDN Forum jedoch bereits eine hilfreiche Antwort bekommen:

Eine "name".testrunconfig Datei anlegen, oder die vorhandenen LocalSettings.testrunconfig editieren.
Dort enable deployment auswählen und die DLLs eintragen, die zusätzlich kopiert werden sollen.
Dann läufts ohne manuellem kopieren.

Thema: Unit Test, wie krieg ich den Namen des Zielverzeichnisses raus?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
entschuldigt die späte Antwort.

Also das Hinzufügen zum Projekt und Kopieren wenn neuer funktioniert nicht. Die DLLs werden nicht kopiert.

DeploymentItem ist zu umständlich, wenn ich 100 Methoden habe, muss ich 100 mal dutzende von DeploymentItems haben, weils laut hier How to: Configure Test Deployment nur auf Methoden angewendet werden kann.

Die Idee mit einer zusätzlichen DLL ist nicht gerade handlich und erfordert Workarounds fürs drumherum, eventuell werde ich es aber testen, wenn keine bessere Alternative existiert.

Thema: Array aus methode zurückgeben? Destruktor?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die Einfachheit von Managed Code :)

Wie habe ich das vermisst.

Danke :)

Thema: Array aus methode zurückgeben? Destruktor?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe eine Methode, die n byte[,] Arrays generiert. In .net sind Arrays Reference Types, soweit ok, aber was passiert mit einem Array, was in einer Methode erzeugt wird und dann in eine Liste gelegt wird:



public void doSomething(Queue<byte[,]> m)
{
   var f = new byte[,] {....}
   m.Enqueue(f);
}

public void START()
{
   var q = new Queue<byte[,]>();
   // hier wird q befüllt

   // hier die methode
   doSomething(m);

  // was ist mit dem byte Arrays aus doSomething?
}


Es werden in doSomething in der Regel mehr, als nur ein Arrays erzeugt, also kann ich es nicht einfach mit return zurückgeben.

Ich kann nicht ganz nachvollziehen was passiert?
Sind Referenztypen in C# gezählt? So ne Art Smart Pointer? Oder hab ich, nachdem doSomething durchgelaufen ist im Queue einen Verweis auf einen freigegeben Speicher?

Auch wenn doSomething ein byte[,] returnen würde, ist es ja im Endeffekt eine lokale Variable, die aus dem Scope der Methode geht und eigentlich entweder zerstört werden müsste, oder ein Leck verursacht?

Es wird hier doch nirgendswo eine implizite Copy Operation ausgeführt, oder? Würde ja bedeuten, dass das Framework hier implizit ein Buffer.BlockCopy mit der korrekten Größe macht?

Thema: Bekomme kein Build einer Assembly mit DebuggableAttribute
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Gelöst:
Zusätzlich muss bei Advanced noch Debug Info auf full (oder pdb) gesetzt werden.

Thema: Bekomme kein Build einer Assembly mit DebuggableAttribute
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ein propreitäres Framework prüft beim Start alle gelandenen DLLs und zählt, welche im Release und welche als Debug gebaut worden sind und wirft dann eine Meldung, dass Debug und Release gemischt worden sind.

Dies wird mittels

System.Diagnostics.DebuggableAttribute
Der Assembly Custom Attributes erreicht. Wenn diese numm sind, dann zählt es als Release, andersrum als Debug.

Zusätzlich meldet Visual Studio beim Start
"The following module was build either with optimizations enabled or without debug information (...)"

Ich bin nicht in der Lage, eine Debug Version zu erstellen. Woran kann es liegen? Die Konfiguration ist selbstgebaut, aber ich habe in den Properties des Projekts nicht viele Optionen.

"Define DEBUG constant" ist an
"Define TRACE constant" ist an
"Optimize code" ist aus

Was übersehe ich noch?

Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Lexware fällt auf die Nase. $(Configuration) in die proj Datei reinzuschreiben hilft nichts, wenn $(Configuration) nicht der Name des Ordners ist, in dem die Assembly liegt :/

Wenn ich ein Compilation Symbol definiere, ala CONFIG=MeineConfig, so kann ich diese dann nicht mittels $(CONFIG) in der proj Datei einsetzen. Hmpf!

Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Lexware scheint mein Retter zu sein :)

Danke!

Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Debug und Release waren nur Beispiele.
Es gibt DX 9 Debug und Release und DX 11 Debug und Release.
Ich habe nur der Einfacheit halber nur von Debug und Release geredet.
Es ist Third Party Code, der XP und neuere Betriebssysteme unterstützt und da DX 11 auf XP nicht läuft, ist DX 9 Fallback.
Aber das sollte ja auch keine Grundsatzdiskussion werden, warum wir es so machen. Wir haben an der Stelle keine Wahl, weil es eine Middleware ist, die wir selber bauen.

Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Es geht um Assemblies.
Ein Beispiel ist eine Konfiguration von Anwendungen, die Direct X unterstützen. Es passieren unter DirectX 9 andere Dinge, als unter DirectX 11, daher benötige ich für die beiden Configs auch zwei unterschiedliche Referenzen.
Man kann ja eine Referenz nicht unter einer bestimmten Config hinzufügen, sondern immer nur für das Projekt im Allgemeinen

Thema: Add Reference, was tun, wenn man mehrere Build-Konfigurationen braucht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wenn ich mit Library X baue, aber Library Y ins Bin kopiere, geht das nicht total in die Hose?

Es geht hier auch nicht unbedingt um Debug und Release, sondern andere Konfigurationen, die andere Ausgangssituation vorraussetzen, was halt nicht geht, wenn ich nur eine Lib anziehen kann