Laden...

Forenbeiträge von Wax Ingesamt 731 Beiträge

13.02.2009 - 20:25 Uhr

Hi JAck30lena,

wer oder was ist ein txpefilter?

MfG
wax

13.02.2009 - 16:41 Uhr

Hallo,

ich habe zum Ausprobieren einer Observer Struktur per .net-Remoting einfach mal folgendes Beispiel genommen:

Observer-Remoting Beispiel

Nun habe ich folgendes Problem: Dieses Beispiel lässt sich bei mir auf dem Rechner nicht ausführen, da beim registrieren des Clients beim Server eine SerializationException geworfen wird.

Zusammenfassung: Damit ich auf dem Server eine Liste der Clients speichern kann, möchte ich halt die Client-Objekte, welche von MarshalByRefObject ableiten, übergeben. So wie es auch im Beispiel gemacht wird. Nur leider wird mir beim senden des Client-Objektes an den Server eine Serialization-Sicherheitseinschränkung-Exception geworfen. Ist es überhaupt nicht möglich ein MarshalByRefObject zu übergeben, oder kann ich solche Klassen nur verwenden um mir z.B. vom Activator nen Proxy erstellen zu lassen?

MfG
wax

05.02.2009 - 14:36 Uhr

Hi Ares,

von welchem Typ ist denn die zu registrierende Instanz?

MfG
wax

edit: bzw. ist diese Klasse als serialisierbar gekennzeichnet?

05.02.2009 - 12:02 Uhr

Ja klar! War zu faul den ersten Konstruktoraufruf zu entfernen 😉

MfG
wax

05.02.2009 - 11:49 Uhr

Also nicht das du mich falsch verstehst 😃
Ich meine es so:


List<WorkingPackage> result = new List<WorkingPackage>();
WorkingPackage list = new WorkingPackage();

while (reader.Read())
                {
                    list = new WorkingPackage();

                    id = GetLastEntryId();

                    list.Id = ++id;
                    list.PlanedAmount = reader.GetFloat(2);
                    list.CurrentAmount = reader.GetFloat(3);
                    list.CurrentMonth = reader.GetFloat(4);
                    list.Month01 = reader.GetFloat(5);
                    list.Month02 = reader.GetFloat(6);
                    list.Month03 = reader.GetFloat(7);
                    list.Month04 = reader.GetFloat(8);
                    list.Month05 = reader.GetFloat(9);
                    list.Month06 = reader.GetFloat(10);
                    list.Name = reader.GetString(11);

                    result.Add(list);
                }

Nur um es klar zu stellen 😃

MfG
wax

05.02.2009 - 11:29 Uhr

Hi Elexil,

du musst bei jedem Schleifendurchlauf das list-Objekt neu erzeugen. Du arbeitest ja immer auf dergleichen Instanz.

MfG
wax

03.02.2009 - 11:39 Uhr

Hi talinus,

ich glaube da macht, wie so oft, Übung den Meister. Entweder wurdest du mit einem Gefühl für gutes Design auf die Welt geschickt oder du musst es in einem stätigen Lernprozess erlangen.

Mit der Zeit entwickelt man ein Gefühl für schlechten Code (keine Wiederverwendbarkeit, ineffizient, schlecht gekapselt usw...) und wird es natürlich versuchen ihn zu vermeiden. Zumindest war das bei mir der Fall...

MfG
wax

29.01.2009 - 11:14 Uhr

Hallo,

hat hier zufällig jemand schonmal Code schreiben müssen, um einen Zeitraum zwischen 2 Terminen zu berechnen, basierend auf einem Bankjahr mit 360 Tagen/Jahr.

Ich stehe hier gerade auf dem Schlauch und im Netz gibt es nur EXCEL-Beispiele. 😃

MfG
wax

21.01.2009 - 16:00 Uhr

Hi Trekki1990,

bist du dir denn auch sicher das dein Text Zeilenumbrüche enthält und den angezeigten Text nicht nur aufgrund der Control-Breite umbricht?
Sorry für die Frage, doch ich habe inzwischen gelernt immer mit der simpelsten Fehlerquelle zu beginnen... 😉

MfG
wax

08.01.2009 - 13:12 Uhr

verwendetes Datenbanksystem: <GUPTA>

Guten Tach,

ich hab da mal ne Frage in Sachen Transaktionshandling.
Es geht darum, dass ich einen riesigen Import von alten Daten in ein neues System vornehmen muss und dieser ganze Prozess (zur Zeit) innerhalb einer riesigen Transaktion stattfindet. Es muss leider eine Transaktion sein, denn auch wenn nur ein Teil der Daten fehlerhaft importiert wird, soll garnichts übernommen werden.
Meine Frage ist nun ob es eine Größenbeschränkung für Transaktionen gibt? Klar hängt das vom verwendeten Datenbanksystem ab, doch ist euch soetwas schonmal zu Ohren gekommen und wenn ja, was macht man in einem solchen Fall?

MfG
wax

31.12.2008 - 19:47 Uhr

Hi,

also eine Möglichkeit wäre es den RowState der Zeile zu ändern und somit das Löschen zu unterbinden.

Kam mir jetzt nur mal so der Gedanke...

MfG
wax

23.12.2008 - 14:26 Uhr

Hi Flauschi,

da .Net intern aus einer LINQ-Anweisung doch sicherlich auch nichts anderes als verschachtelte foreach´es machen wird (glaube ich zumindest), denke ich mal wird es (selbst wenn dir die Syntax etwas wie von dir gewünschtes anbietet) auf die selbe Ausführungszeit hinauslaufen.

Aber schau dir mal folgendes an:

http://blogs.msdn.com/dparys/archive/2008/10/14/dynamische-abfragen-mit-linq.aspx

Vielleicht hilft dir das ja

MfG
wax

18.12.2008 - 14:32 Uhr

Hi,

wenn man sich die Titelzeile des Splash-Fensters anschaut ist wohl klar das hier etwas ordentlich blockiert 😃

MfG
wax

08.12.2008 - 15:12 Uhr

Genau das Paper haben wir uns auch gerade angeschaut. 😃

Also es ist wirklich übel....

MfG
wax

08.12.2008 - 14:47 Uhr

Mein Kollege meint, dass dieselbe Menge an Daten unter Java RMI z.B. um den Faktor 5 oder höher, schneller übertragen wird. Von daher denke ich mal das man es einfach nur optimieren müsste und da hatte ich gehofft, dass es unter .NET Tricks gibt. 😃
Die benötigte Zeit steigt mit der Hinzunahme von Properties nichteinmal linear.
Bringt es vielleicht etwas die Properties wegzulassen und direkt auf öffentlichen Feldern zu arbeiten?

MfG
wax

08.12.2008 - 14:28 Uhr

<Serializable()> Public Class MediaList
    Inherits List(Of MediaItem)
End Class

Und MediaItem:


<Serializable()> Public Class MediaItem
    Inherits BaseXmlElement
    Implements IComparable

    Private m_id As Integer
    Public Property mediaId() As Integer
        Get
            Return m_id
        End Get
        Set(ByVal value As Integer)
            m_id = value
        End Set
    End Property
.
.
.

und das MediaItem besitzt noch ca. 10 weitere Properties. Den ganzen Code kann (darf) ich nicht zeigen.
Die MediaList besitzt ca. 9.000 Objekte vom Typ MediaItem und hier wird nichts in einer Schleife aufgerufen. 😃

MfG
wax

ps.: Sorry wegen VB.NET

08.12.2008 - 13:49 Uhr

Hi GMLOD,

also es handelt sich um einen TCPChannel, doch hier wird ein "BinaryClientFormatterSinkProvider" verwendet. Hmm, hab ich noch nicht selbst verwendet. (Code ist nicht von mir).


    BinaryClientFormatterSinkProvider clientProvider = New BinaryClientFormatterSinkProvider()
IChannel chnl = New TcpClientChannel("blablabla", clientProvider)
ChannelServices.RegisterChannel(chnl, True)

Falls das dir weiterhilft....

MfG
wax

08.12.2008 - 13:36 Uhr

Halli hallo,

ich wende mich heute mal mit einer Frage zum Thema ".NET Remoting - Datenübertragungszeiten" an euch. Es geht darum, dass in meiner Anwendung die Übertragung von Daten per .NET Remoting äusserst schleppend verläuft.
Wenn ich z.B. eine generische Liste von String-Datentypen habe und diese Liste 50.000 Einträge enthält, wird diese bei mir innerhalb von 100-200 ms übertragen. Ist wunderbar....

Wenn ich nun aber keine Liste mit Strings, sondern eine Liste mit eigenen Objekten übertrage und jedes Objekt ca. 10 öffentliche Felder (die auch serialisiert werden sollen) besitzt, dann dauert es plötzlich 1300-1500 ms. Und das ist mir zu langsam.

Also.... gibt es vielleicht noch bessere Wege um große Datenmengen relativ schnell zu übertragen? Ich kann es mir nicht leisten bei jedem Abruf der Daten ne Sekunde warten zu müssen. Und bitte keine Caching-Vorschläge. =) Ich sage das nur um die Antwortmenge einzuschränken. 😉

MfG
wax

02.12.2008 - 13:02 Uhr

Hi juetho,

danke erstmal für die Antwort! Das Problem hat sich bereits erledigt. Bei uns in der Firma existiert schon ne Datenbanktabelle, in der alle benötigten Informationen stecken. 😃

Tja, so einfach kanns gehen wenn verschiedene Abteilungen auch mal untereinander kommunizieren. =)

MfG
wax

02.12.2008 - 09:45 Uhr

Hallo,

Hab da mal ne Frage bezüglich Länderkennzeichen. Kennt vielleicht jemand eine öffentliche (in der Regel immer verfügbare) Quelle im Netz, die ich per WebService ansprechen könnte, um mir Länderkennzeichen online zu besorgen?

MfG
wax

19.11.2008 - 13:26 Uhr

Ok, ich muss mich mal wieder schämen. 🙂 Es fehlte einfach nur der parameterlose Konstruktor meiner Datenobjekte. Ist ja klar das dieser benötigt wird, da das Grid nicht weiß welche Daten es als Parameter beim erzeugen des Objektes übergeben soll....

Aber Danke für deine Antwort Blacal!

MfG
wax

18.11.2008 - 10:51 Uhr

Hallo,

ich hoffe hier kennen sich ein paar Leute mit den Controls von DevExpress aus. 🙂
Ich binde an ein XtraGrid(View) meine DataSource (generische Liste) und habe die Spalte innerhalb der GridView auf CustomBound gesetzt und verwende das "CustomUnboundColumnData"-Event zum manuellen setzen und lesen der Spalten für Einträge aus der DataSource.
Klappt auch alles wunderbar. Nun möchte ich aber die Funktion von der View nutzen, immer automatisch eine neue (leere) Zeile ans Ende anzuhängen. Dies wird auch gemacht nur wenn ich dann innerhalb dieser neuen Zeile Daten eintrage, wird mein "CustomUnboundColumnData"-Event nicht gefeuert und somit kann ich nicht auf die Daten, welche eingegeben wurden, reagieren. Kennt da vielleicht jemand ein Event das dann gefeuert wird oder wie man das macht?

MfG
wax

12.11.2008 - 14:41 Uhr

Okok, ich muss alles zurücknehmen,

mit der Using-Struktur funktionert es nun!!! Juhuuuu

Anscheinend gibt es Momente wo Close() nicht die beste Wahl ist 😉

12.11.2008 - 14:19 Uhr

Ich habe nun komplett auf die Using-Struktur umgestellt, doch es ergibt sich immer noch dasselbe Problem.... X(

Muss ich mich wohl mal etwas durchbeissen

12.11.2008 - 13:24 Uhr

verwendetes Datenbanksystem: <GUPTA>

Hallöchen,

ich habe ein wirklich nerviges Problem und hoffentlich kann ich es beschreiben 🙂:

In meinem Programm verwende ich IDataReader-Objekte. Durch folgenden Code erzeuge ich jeweils einen Reader:


readerObj = cmd.ExecuteReader()

Nachdem ich die Arbeit mit diesem Reader beendet habe, wird er in einem Finally-Block geschlossen:


readerObj.Close()

Zwischen den beiden Aufrufen liegt Code, der weitere Reader erstellt und auch wieder schließt! , um mehrere Daten aus der Datenbank abzufragen.

Nun läuft das Programm im DEBUG-Modus wunderbar durch. Wenn ich aber auf RELEASE stelle stürzt mir das Programm nach einer Zeit mit folgender Fehlermeldung ab:


"Failed to create a database cursor for the command. Please check your connection. Make sure you are not running out of cursors by calling Dispose() when you are done with the command. Additional SQLBase message: 00135 SQL ICN Invalid cursor number   Reason: The application program is attempting to perform a function 	      call and is using an invalid cursor number. Or, the 	      application program may be using an old or mismatching version 	      of a .DLL file. Also, if this is a shared cursor, it may be 	      that the shared cursor is no longer valid because the owner 	      application has been terminated.       Remedy: Correct the application program. Verify that the cursor is 	      valid.  To verify the cursor value, print the value of cursor 	      after the connect and then before and after the function call 	      that returned this error. Alternately, verify that the .DLL 	      being used is the current version that matches the version of 	      the database software being used. If using a shared cursor, 	      verify that the owning application of the shared cursor has not 	      been terminated."

Das ist schonmal sehr ärgerlich, dass es im DEBUG funzt, doch im RELEASE abstürzt!
Nun habe ich mal Wartezeiten von 500ms innerhalb des Codes eingebaut, um zu schauen was passiert und schwups hat es funktioniert. !?! 8o

Nun weiß ich echt nicht mehr weiter..... Ich habe die Vermutung das die Datenbank im RELEASE mit dem Schließen der Cursor nicht nachkommt und somit das Limit erreicht wird. Gibt es vielleicht eine Möglichkeit die Datenbank zu zwingen, erst Reader zu schließen, bevor weitere geöffnet werden?

MfG
wax

06.11.2008 - 11:34 Uhr

Ok, ich habe es jetzt einfach so gemacht wie JAck30lena es gedacht hat:
Entschuldigt den VB.Net-Code 😉


AddHandler Me.ActiveMdiChild.FormClosed, AddressOf Me.mdiChildClosedHandling

Und in "mdiChildClosedHandling" prüfe ich die Länge der "MdiChildren"-Liste meines Parents.
War ja ganz einfach. Danke nochmal!

MfG
wax

06.11.2008 - 11:00 Uhr

Also es sieht so aus, dass es keine gemeinsame Basisklasse gibt.

MfG
wax

06.11.2008 - 09:56 Uhr

Danke schonmal für die Idee,

leider existiert schon ein recht großer "Haufen" an Klassen und ich möchte nicht überall Dinge ändern müssen.

MfG
wax

06.11.2008 - 09:38 Uhr

Hallo zusammen,

ich würde in einem Projekt gerne mitbekommen, wenn ein MDIChild-Form innerhalb des MDI-Parents (natürlich^^) geschlossen wird, um anschließend bestimmte Aktionen auszuführen.

Leider habe ich kein Event gefunden, welches sich damit beschäftigt.
Ich habe auch keine Möglichkeit von jedem erstellten Fenster ein Closed-Event zu abonnieren um somit das Schließen mit zu bekommen.
Ich will aber auch nicht per Polling nachschauen ob noch MDIChild´s existieren oder nicht. 🙂

Habt ihr da vielleicht eine Idee? Es geht mir speziell darum, zu wissen wann kein MDIChild mehr geöffnet ist.

MfG
wax

12.10.2008 - 00:18 Uhr

Also eine Idee wäre es direkt über die "Tick-Leiste" eine PictureBox zu legen, die dieselbe Background Farbe hat wie das TrackBar-Control. Ist zwar geschummelt, doch geht. 🙂

MfG
wax

11.10.2008 - 09:39 Uhr

Hallo,

ich setze zur Zeit innerhalb des ValueChanged-Event(Handlers) die Backcolor-Eigenschaft des TrackBar´s neu. Allerdings flackert die TrackBar bei jedem setzen des Backgrounds, so das beim hoch und runter (bzw. links und rechts) ziehen des Schiebereglers (und somit beim neu setzen der Background-Color) die Trackbar flackert.

Die TrackBar liegt innerhalb eines UserControls und die DoubleBuffered-Eigenschaft des UserControls steht auf "true", sowie auch die DoubleBuffered-Eigenschaft des (Container)Form.

Habt ihr noch eine Idee was man dagegen machen kann?

MfG
wax

10.10.2008 - 12:01 Uhr

Vielen Dank Khalid! Das habe ich gebraucht.

10.10.2008 - 11:49 Uhr

Hallo,

nicht das wir uns falsch verstehen. Es handelt sich nicht um geerbte Propertys, sondern um eigene (public) Propertys.

Es kommt hin und wieder vor, dass nach dem öffnen und schließen des Designers plötzlich eine Codezeile für diese Propertie einfach hinzu kommt.
Beispiel:

Zeitpunkt: Alles ist gut 🙂


// Designer-Code

// userControl1
userControl1.Size = blabla;
userControl1.Location = blabla;

Zeitpunkt: Nun platzt mir der Kragen


// Designer-Code

// userControl1
userControl.MyPublicProperty = null;
userControl1.Size = blabla;
userControl1.Location = blabla;

Die Zeile "userControl.MyPublicProperty = null;" wurde einfach mal so eingefügt.
🙂

MfG
wax

10.10.2008 - 11:29 Uhr

Halli hallo,

Es geht um eine Eigenart des Visual Studio - (WinForm) Designers.
Allerdings weiß ich nicht ob diese Eigenart erst nach der Installation der DeveloperExpress.NET-Komponenten auftrat oder ob es schon unter standard WinForms-Control Zeiten so war.
Es geht darum, dass der vom Designer generierte Code, bei jeder öffentlichen Eigenschaft eines UserControls einfach mal den Wert der Eigenschaft auf null setzt. Hierdurch ergaben sich plötzliche Laufzeitfehler, da dieser null-Wert nicht in meine Logik passte.
Kennt jemand dieses Verhalten und ist dieses Verhalten standard?

06.10.2008 - 15:55 Uhr

Hallo Svenson,

vielen Dank ersteinmal für deine Hinweise!
Mir stellt sich in dem Zusammenhang allerdings die Frage ob damit nicht die lose Kopplung einer (vielleicht doch nicht) service-orientierten Technologie verloren geht? Ich weiß nicht ob Microsoft von WCF behauptet nach dem SOA-Prinzip zu funktionieren... Falls ja, dann würde diese Art der Kommunikation ja nicht mehr SOA-mäßig ablaufen. Falls nicht, dann kann es von mir aus machen was Es will. 🙂

02.10.2008 - 16:49 Uhr

Halli hallo,

ich wende mich heute mal mit einer Frage zum Thema WCF an euch.
Es geht darum, dass ich bisher in WCF immer nur 2 Prozesse (1 Server / 1 Client) miteinander verbunden habe. Der Server hat dazu einen "System.ServiceModel.ServiceHost" geöffnet und der Client verbindet sich mittels, durch svcutil.exe erstelltem Proxy, mit diesem Host. Mein Problem ist nun das ich somit nur einen Client bediene. Wenn ich im Falle eines Chats aber zum Beispiel Nachrichten an verschiedene Client weiterleiten möchte, wie würde ich das realisieren? Sollte der Server sich eine Liste der Clients merken? Wenn ja, wo bekomme ich Informationen über den Client her, weil ja gerade so Dinge wie Sockets durch WCF "verschleiert" werden. Also könnte ich (zumindest mit meinem derzeitigen Wissen) nicht direkt sagen "Hey, schick die und die Daten bitte an DEN Klienten".
Wie würdet ihr das mittels WCF lösen?

ps: Mir fällt gerade auf das der Thread-Titel leicht irreführend ist 😄.
Ich habe ihn deswegen gewählt, da ich soetwas in der Art vorher immer über TCPListener gemacht habe und ich somit in einem eigenen Thread jede Connection zum Client behandelt habe. Deswegen Multithreading 🙂

13.05.2008 - 09:58 Uhr

Ah danke!!!
Ich habe das sonst immer verwendet und mir keine großartigen Gedanken drüber gemacht weshalb ich return true zurückgebe. Beim Copy+Paste habe ich alles außer dem "return true" übernommen....

Vielen Dank! Nun funktioniert es wie gewünscht.

*schäm*

MfG
wax

13.05.2008 - 09:47 Uhr

Hallo,

ich habe in meinem Projekt ProcessCmdKey überschrieben, damit ich Tastatureingaben für STRG+Z und STRG+Y verarbeiten kann.

Nun habe ich aber das Problem, dass ProcessCmdKey bei einem Tastaturdruck 2-3 mal aufgerufen wird und somit meine Logik nicht funzt. 🙂

Beispiel-Code:


protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData == (Keys.Control | Keys.Z))
{
  // Undo-Aktionen
}
if(keyData = (Keys.Control | Keys.Y))
{
  // Redo-Aktionen
}
}

Wenn ich nun zur Laufzeit z.B. STRG+Z drücke, werden (durch das mehrmalige Aufrufen der Methode) gleich 2-3 Aktionen rückgängig gemacht. Das will ich so nicht haben. 🙂

Habt ihr eine Idee wie ich das Regeln könnte? Zur Zeit will mir nichts einfallen. Nur krumme Dinger. 🙂

MfG
wax

05.05.2008 - 14:33 Uhr

Also falls sich da jemand auskennt, dann sind Antworten sehr gerne gesehen! 😉

MfG
wax

05.05.2008 - 10:49 Uhr

Hallo Wax,

falls gar nichts anderes geht, dann halt Suchen und ersetzen der Textdatei 😉

Ne lass mal stecken... 🙂 Da werde ich mir noch was einfallen lasse müssen.

MfG
wax

05.05.2008 - 10:16 Uhr

Hi norman_timo,

ich persönlich halte es nicht für wichtig, doch leider wird es so gewünscht. 🙂

MfG
wax

05.05.2008 - 09:44 Uhr

Hallo,

ich muss mal wieder stören. 🙂 Ich würde in meinem generierten Code gerne die original .NET-Laufzeittypen stehen haben, doch anscheinend optimiert der Microsoft.CSharp.CSharpCodeProvider so etwas weg und macht daraus die C#-Typen.
Beispiel:

Aus


// vorher
const System.Int32 i = 23;

wird


// nachher
const int i = 23;

Ich möchte im Code aber unbedingt die "vorher"-Variante stehen haben. Weiß jemand wie ich es abstellen kann, dass im Code die "gemappten" Datentypen verwendet werden?

MfG
wax

02.05.2008 - 14:40 Uhr

Ok nun klappt es bei mir auch. Die MemberAttributes-Enum meiner Variable hatte schon vor der Verarbeitung einen Wert. Habe ich gerade erst im Debug-Modus gesehen. Wenn ich den Wert vorher auf 0 setze, funktioniert es nun wie gewünscht. So ein blöder Fehler. 🙂

Danke für eure Zeit!!!

MfG
wax

02.05.2008 - 13:58 Uhr

Entschuldigung...

Also wie xxxprod schon sagte, haben 3 und 24576 kein gemeinsames Bitmuster.
3 = 11
24576 = 110000000000000

Wenn ich sie nun auf die Weise verbinde:


MemberAttributes enumVar = MemberAttributes.Static | MemberAttributes.Public;

ist alles in Ordnung und beim Erzeugen des Codes wird mir mein Member mit public und static erstellt.
Wenn ich nun aber folgenden Ansatz verfolge:


public void MyMethod(params MemberAttributes[] enumWerte)
{    
    foreach(MemberAttributes tempEnum in enumWerte)
    {
        myFeld.Attributes |= tempEnum;
    }
}

wird immer nur der letzte Wert aus enumWerte verwendet, in dem Fall besitzt mein Member nach der Codeerzeugung also nur "public" und "static" fehlt. Wieso?

MfG
wax

02.05.2008 - 13:40 Uhr

Ganz genau. So sehe ich das ja auch, doch es klappt nicht. Hmm...

02.05.2008 - 13:10 Uhr

Es handelt sich um die System.CodeDOM.MemberAttributes Enumeration.
Dort sind z.B. die folgenden 2 Werte definiert:



punlic enum MemberAttributes
{
.
.
.
Static = 3,
Public = 24576
.
.
.

Wenn ich im Code nun folgendes schreibe gehts:


MemberAttributes enumVar = MemberAttributes.Static | MemberAttributes.Public;

Wieso kann ich dann nicht auch einfach auf die weiter oben genannte Art und Weise "verodern"? Es stecken intern doch dieselben Integer-Werte dahinter, oder?

MfG
wax

02.05.2008 - 12:15 Uhr

Hi herbivore,

auf die Werte kann ich leider keinen Enfluss nehmen. Fällt dir oder sonstjemandem eine andere Möglichkeit für diese Zuweisung ein?

MfG
wax

02.05.2008 - 12:06 Uhr

Hallöchen,

sorry doch mir viel leider kein passender Titel ein.
Es handelt sich um ein absolutes Basic. 🙂
Ich würde gerne mehrere Enumerationswerte an eine Methode übergeben und innerhalb der Methode dann die Übergabewerte nacheinander einer Variablen zuweisen.
Beispiel-Code wie ich es mir gedacht hatte:



public void MyMethod(params MyEnum[] enumWerte)
{
    MyEnum enumVar;

    foreach(MyEnum tempEnum in enumWerte)
    {
        enumVar |= tempEnum;
    }
}

Nur leider wird in "enumVar" immer nur der letzte Wert aus dem "enumWerte"-Array gespeichert. Sollte es mit der |-oder Verknüpfung nicht gehen?

MfG
wax

02.05.2008 - 09:31 Uhr

Wie meinst Du das jetzt genau? Also meine Varaiblen(Felder) sollen global für den Typ verfügbar sein und stehen in keiner Methode.

MfG
wax

ps: Also innerhalb einer Methode bekomme ich das Statement eingefügt, so dass ich z.b: folgenden Code erzeugen kann:



public void myMethod()
{
    System.DateTime dateTime = new System.DateTime();
}

Nun möchte ich aber, dass dateTime global ausserhalb einer Methode definiert wird:


public class myClass
{

    System.DateTime dateTime = new System.DateTime();
.
.
.
}

Wie bekomme ich das hin? Mein Objekt, welches die Klasse repräsentiert, besitzt leider keine Statement-Auflistung so wie eine Methode.

02.05.2008 - 09:17 Uhr

Hi und danke schonmal!!!
Mir ist wohl der Aufbau des CodeDOM noch nicht ganz klar. Wie hänge ich diese Deklaration denn dann in den Code-Baum ein bzw. an welcher Stelle?
Ich hätte jetzt gedacht das ich es in CodeTypeDeclaration.Members einfüge, doch da gibts Typen-Probleme. 🙂

MfG
wax