Laden...

Forenbeiträge von Snowwolf3000 Ingesamt 140 Beiträge

26.01.2006 - 20:33 Uhr

So noch mal für die doofen (also für mich) 😁
Du trennst View und Controller nicht? Wie funktioniert das? okay wenn ich eine simple Anwendung hab wo nur alles in einen Hauptfenster abläuft dann kann ich alles in die Code-Behind Datei schreiben.
Aber nehmen wir mal an ich will Outlook nachbauen: Dann brauch ich doch ne Menge von UserControls. Dann benötigte ich doch eine zentrale Klasse die mir je nach Bedarf das passende UserControl anzeigt (eins für den Kalender, eins für die Mailansicht usw.) Da muss doch zwangsläufig View und Control getrennt sein.

Ja die Statusbar liegt in der View sogar bei mir. 🙂 Aber der Controller muss die ja trotzdem kennen. Selbst wenn die Logik ausschließlich über Events mit der Statusbar kommuniziert muss ich ja sich die Statusbar für Events der Logikschicht registrieren.

26.01.2006 - 19:47 Uhr

Hallo,

mal wieder ne theoretische Frage zur Prammstruktur: Ich verwende eigentlich ganz gern das MVC-Pattern zur Trennung der Oberfläche von den Daten. Mein Problem ist wenn das Projekt größer wird, der Controller ja recht unübersichtlich wird.
Also hab ich mir überlegt das es wohl sinnvoll ist meherere Controller zu verwenden. Soweit eigentlich auch kein Problem. Allerdings gibt es dann ja Oberflächenelemente die von zwei Controllern genutzt werden müssen (z.B. ne Statusleiste,gemeinsam genutztes UserControl, Hauptfenster einer Anwendung usw.). Die Frage ist jetzt wie geh ich eben mit solchen Elementen um die von mehreren Controller genutzt werden? Mach ich daraus ein Singelton oder gibts da was besseres?
Wie würdet ihr sowas lösen oder verwendet ihr nen ganz anderen Ansatz?

Gruß
Snowwolf

22.12.2005 - 13:21 Uhr

Fügt deiner Projektmappe einfach eine weiteres Projekt (Klassenbibliothek) hinzu. In das kannst du dann die Forms (perDrag&Drop) verschieben die sowohl von Programm 1 wie auch von Programm 2 benötigt werden. Auf diese DLL musst du dann wie in meinen ersten Beitrag beschrieben, einen Verweis hinzufügen.

22.12.2005 - 13:01 Uhr

Kannst du nicht einfach ne Dll erstellen, wo du die gemeinsamen Sachen reinlegst?

Wäre wohl eh das saubere Architekturkonzept.

22.12.2005 - 12:33 Uhr

Mir is jetzt war nicht so ganz klar was das mit der Installationsroutine zu tun hat, aber: Also den Ordner Verweise mit der rechten Maustaste anklicken und "Verweise hinzufügen" drücken. Dann denn Reiter Projekte anwählen und die entsprechenden Projekte hinzufügen. So das wars eigentlich. Im Code muss dann nur noch das andere Projekt durch die entsprechende using Anweisung (z.B. using myProject1) hinzugefügt werden und schon kann man die Objekte des anderen Projekts nutzen.

22.12.2005 - 12:18 Uhr

Also ich hab für mein jetziges Projekt Codus (ist ein Code Generator) verwendet und mir damit die DAL aufbauen lassen. Einfacher kann eigentlich die Kommunikation mit der DB fast garnicht sein. Anderseits wenn dir sogar ein DataSet schon zuviel Overhead ist...

21.12.2005 - 10:32 Uhr

Danke svenson!
Habs verstanden. Das einzige was ich inzwischen echt nicht mehr verstehen kann ist, wie man ADO.net direkt einsetzn kann. Das Teil ist echt ne krankheit. 😉

20.12.2005 - 14:00 Uhr

Hallo,

wär dankbar wenn mir mal jemand die Vorteile und Nachteile von O/R-Mappern und Code Generatoren für Datenbanken definieren könnte.
Irgendwie bin ich nämlich etwas verwirrt: Also mit einen O/R Mapper (z.B. NHibernate) kann ich mithilfe eines Mapping-Datei (vorzugsweise in Xml geschrieben) auf Datenbank in Objektform zugreifen. Ein Code Generator wie myGeneration oder Codus erzeugt mir die Objekte und ich kann dann ebenfalls auf die Db in Objektform zugreifen. So und dann kann ich mir noch mit den Code Generator die Mapping Dateien für einen O/R-Mapper erzeugen lassen.

So und jetzt frag ich mich: Wann nehm ich nen O/R Mapper, wann nen Code Generator und wann erzeug ich mit nen Code Generator Quellcode für nen O/R-Mapper???

Gruß
Snowwolf

19.12.2005 - 15:09 Uhr

Hallo,

ich versuche gerade ein paar Vierecke(hier auch Shapes genannt) in einer kreiförmigen Fomation anzuordnen. Das geht auch soweit, allerdings überschneiden sich die dann immer am oberen und unteren Rand des Kreises. Ich denke mal mein Algorithmus hierfür ist mal wieder ganz großer Mist 🙂 Hat jemand ne Idee wie es richtig gehört?



//maxShapes = Anzahl aller maximal darstellbaren Vierecke. Hab ich einfach 
//dadurch errechnet das ich den Umfang des Kreises durch die Höhe eines Vierecks geteilt habe

int maxheightShapes= (radius *2) /(shapeSize.Height);
int maxShapes = maxheightShapes + (maxheightShapes-2); //zweiten Kreis fehlen Shapes an oberen/unteren Rand

//amountShapes = wie viele Vierecke sollen dargestellt werden
for(int i=0; i<amountShapes;i++)
{
	angle = (2*Math.PI*i)/(maxShapes ); //winkel des aktuellen Vierecks	
        double x = Math.Cos(angle) * radius + middlePoint.X; //x-Pos
	double y = Math.Sin(angle) * radius + middlePoint.Y; //y-pos 
        shapeList[i].Location = new PointF((float)x,(float)y); 
}




Bitte die Zahlen und das Viereck in der Mitte ignorieren

Gruß
Snowwolf

16.11.2005 - 23:24 Uhr

Naja ich finds nicht ganz so unwahrscheinlich. Momentan kanns sich natürlich noch keiner so recht vorstellen, aber die neue Version schlägt Office schon in manchen Bereichen und wenn erstmal Office 12 auf das neue Xml-Format docx umgestellt ist, verliert das Problem mit den Format auch langsam seine Bedeutung.
Dann spricht eigentlich kaum noch was für Office. Die neue Menüleiste ist zwar cool, aber nicht unbedingt nen Grund das man soviel Geld ausgeben muss.

16.11.2005 - 18:14 Uhr

InfoPath wär ne schöne Sache ... wenn es nen kostenlosen Reader geben würde. So kann man damit doch nichts anfangen. Ich fände es zumindest ziemlich schwer sicherzustellen, das jeder Rechner auch wirklich Office 2003 drauf hat. Zumal ja inzwischen die Zukunftssicherheit von Office bezweifelt werden darf (denk da an ein immer besser werdendes OpenOffice).

15.11.2005 - 23:06 Uhr

Naja immerhin funktioniert DataSource und DataMember, obwohl IntelliSense sich weigert mir die anzuzeigen. (ist das nur bei mir so?)
Klar das mit den Boolean ist ein Problem, allerdings brauch ich am Anfang keine angeklickten Felder.
Mal schauen obs ichs also vielleicht doch verwenden kann. Besser als dauernd irgendwelche Events durch die Gegend zu schicken wärs allemal.

Auf jedenfall nochmal danke. Hab dich in mein Buch der coolen Leute aufgenommen 8) Das mit SQL-Anweisung war für mich nen echtes Problem.

15.11.2005 - 22:11 Uhr

Perfekt. Vielen Dank!

Läuft jetzt genauso wie ichs mir vorgestellt hab.

15.11.2005 - 12:37 Uhr

Hallo,

wollt mal fragen, ob es einen Weg gibt ein DataSet an eine CheckedListBox zu binden. Dummerweise fehlt ja der CheckedListBox die Eigenschaft DataSource. Gibts trotzdem nen Weg?

Gruß
Snowwolf

15.11.2005 - 10:51 Uhr

Klar kannst du schon haben, allerdings muss ich sagen das ich bei meiner Antwort irgendwie ziemlich deine Anfangsfrage aus den Augen verloren hab.

Das mit den Panel hast du ja z.B. praktisch schon durch dein UserControl geregelt.
Also mein Antwort ist nur bedingt zu gebrauchen.

So nach ein wenig nachdenken, würde ich es so machen wie du es am Anfang vorgeschlagen hast. Jeden Datensatz mit einer Schleife aufrufen. In deinen Fall reicht es dann eigentlich die UserControls einem Panel hinzufügen (an den AutoScroll aktiviert ist) und einfach sich immer die Position zu merken.

Ansonsten hab ich an das hier gedacht: http://www.steepvalley.net/dev/projects/xpcc/xpcc_ctrls.aspx

Das Teil hilft dir jetzt aber nicht unbedingt weiter, da es so wie ichs jetzt verstanden hab, eigentlich auch wunderbar ohne irgendwelchen zusatzschnickschnack geht. Naja die Controls auf der Seite sind wenigstens ganz schön anzuschauen.

15.11.2005 - 10:23 Uhr

So hoffe hab verstanden wo es bei dir hängt:
Also erstmal die Befehle zum erzeugen eines Controls kann man sich eigentlich am besten von den automatisch generierten Code des Formdesigners zusammenklauen.

Grundsätzlich würde ich so vorgehen:
Im Designer erstmal deiner Form eine baseList oder ich glaub in VS2005 heisst das Teil "FlowControl" hinzufügen.

Eine Baselist/FlowControl ist ein Controls was automatisch deine Controls positioniert. Dann muss man sich nämlich nciht mit der Positionierung rumschlagen. Andernfalls müsste man immer in eine Variable schreiben, wo man sein letztes Panel erzeugt hat. Das geht aber natürlich auch. In Vs2003 ist dafür keine Komponente dabei, dafür gibt es jede menge freie Implementierungen davon(frag nochmal dann such ich die Links dazu raus). In Vs2005 sollte es dafür eine Komponente geben.

Grundsätzliches Vorgehen:
Panel erzeugen, dort hinein den Titel deines Feldes durch ein Label und das Feld selber(Textbox oder ähnliches). Dann das Panel am besten einem "FlowControl" hinzufügen oder eben direkt der Form hinzufügen und selber positionieren. So und das dann mit allen Datenfeldern machen.

15.11.2005 - 09:44 Uhr

Hallo,

mal zur Abwechslung ne reine Sql-Frage. Also habe folgende Tabelle.

id |Typ|Motor

1 | E33| M12
3 | E46| N45
4 | E67| N67
5 | E90| N45
6 | E90| N47

So jetzt hätte ich gerne für die Typen E46 und E90 alle gemeinsamen Motoren. In diesen Fall also N45. Frage ist jetzt nur wie ich das in Sql formuliere. Kann eigentlich nich so schwer sein, aber irgendwie hab ich heute einen geistigen Hänger und komm nicht drauf. Wäre nett wenn mir irgend jemand helfen könnte.

Gruß
Snowwolf

08.11.2005 - 10:12 Uhr

Nette Idee von MS. Eigentlich wollten die ja die Express-Versionen von Anfang an verschenken. Das Problem war ja nur das man Angst hatte, das die Leute sagen: "Was nichts kostet ist auch nichts Wert" (Aussage MS).

So jetzt kosten die Express-Versionen 50$ und sind trotzdem kostenlos. 😁

06.11.2005 - 13:05 Uhr

http://www.codeproject.com/cs/miscctrl/sidetab.asp

Vielleicht einfach nochmal ein wenig auf CodeProject wühlen, kann mir vorstellen es gibt noch ne schönere Umsetzung.

04.11.2005 - 15:28 Uhr

*überleg* Ne sehr merkwürdige Implementierung von nen Programm das auf zwei Montoren gleichzeitig dargestellt wird?
Okay hast Recht, machst sonst kaum Sinn.

04.11.2005 - 14:21 Uhr

Schade und ich hät doch so gerne ein Bastard-Control gehabt. 😉

Glücklicherweise kann Roland aber wohl Gedanken lesen (oder er hat meinen Quellcode geklaut).
Brauch das nämlich für TabPages und habs jetzt genauso gemacht wie vorgeschlagen. So läufts das auch ohne Probleme.

Danke an euch!

Edit: Hab gerade mal die Aussage von herbivore geprüft. Es stimmt der entfernt das automatisch aus den Control-Listen der anderen Panels.

Gruß
Snowwolf

04.11.2005 - 12:53 Uhr

Hallo,

ich würde gerne ein User Control zweimal in einen Formular (durch zwei Panels) anzeigen.
Allerdings wenn ich das probiere wird mir das User Control nur in einen der beiden angezeigt. Kann mir bitte jemand erkären was ich falsch mache?


UserControl1 uCtrl = new UserControl1();
uCtrl.Dock = System.Windows.Forms.DockStyle.Fill;
panel1.Controls.Add(uCtrl);
panel2.Controls.Add(uCtrl);

Gruß
Snowwolf

04.11.2005 - 11:38 Uhr

Hallo,

hab das zufällig mal vor ein paar Tagen bei CodeProject gesehen.

A C# Scrolling Text Control

Der hängt den Buchstaben einfach von Anfang, ans Ende. Denke das ist etwas besser als dein Vorschlag. Wenn du nämlich das Teil verschiebst bist du doch irgendwann am Ende deiner Form (oder hab ich jetzt was falsch verstanden).

Gruß
Snwwolf

02.11.2005 - 13:41 Uhr

Gab ja zwei Videos die nicht gezeigt wurden (bei der Eröffnungsrede). Das eine war Far Cry mit neuer 3d-Engine das hab ich auch schon gesehen (halt aus ner anderen Quelle 😉 , was war den auf den anderen zu sehen?

Gruß
Snowwolf

31.10.2005 - 17:55 Uhr

Großes Komplement an euch. Abgesehen von den leichten Problemen mit den Ton bei einen der Blogcasts, habt ihr beide das Niveau von den Microsoft Webcasts.
Macht so weiter, achja und Avalon wär intressant.

Gruß
Snowwolf

29.10.2005 - 11:16 Uhr

Beim 2005 gibt es in der kostenlosen Iconbibliothek auch ne menge Animationen.
Wäre bei installieren Visual Studio (zumindest nocb Beta2) zu finden unter
…\Programme\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary\

Gruß
Snowwolf

06.10.2005 - 14:58 Uhr

Also jedes Menü besteht wieder aus Untermenüs. Also kannst einfach noch ne foreach Schleife reinsetzen, dann findest du auch deine Menüs. Wenn die Schachtelungstiefe der Menüs noch tiefer ist, musst du das halt rekursiv programmieren. Dann erwischt du auch alle. Vermutlich gibt es noch einen viel schöneren und sauberen Weg, aber denn kenn ich nicht. Also Quick&Dirty:


foreach(MenuItem mi in this.mainMenu1.MenuItems)
{
     if((mi.Text==a))
         mi.Enabled=true; //hauptmenü
     foreach(MenuItem x in mi.MenuItems)
     {
          if((x.Text==a)) 
               x.Enabled=true; //Untermenü
     }
}

Gruß
Snowwolf

05.10.2005 - 10:54 Uhr

Hallo,
wollte mal nachfragen, ob es vielleicht irgendwo (möglichst kostenlos) ein Usercontrol für eine Iconliste wie beim Mac gibt. Also wenn man mit der Maus über ein Icon drüber fährt, sich dieses vergrößert darstellt.

Hier mal nen Screenshot von mobydock(ein Tool um seinen Desktop auf Mac-Style zu bringen), damit man sieht was ich meine.

Bei Codeproject hab ich schon geschaut, aber das einzige Control was ich dazu gefunden habe, hat leider einige ziemliche Schwächen.

Gruß
Snowwolf

29.07.2005 - 18:02 Uhr

Also als erstes muss du mal die Assembly Microsoft.Sharepoint.dll besorgen. Findest du auf den Sharepoint Server unter "C:\programme\gemeinsame Dateien\Microsoft Shared\ web server extensions\60\isapi". Kopiere diese auf deine Entwicklungsmaschine. Als nächstes musst du das Assembly in dein Projekt einbinden.
Mithilfe dieser kannst du das Objektmodell nutzen. Problem ist dabei aber das du nicht testen kannst, weil das nur direkt auf den SPS-Server geht.

Also entweder blind schreiben und dann immer rüberkopieren zum testen oder einen SPS zum testen aufsetzen(am bestem mit VirtualPC). Würde natürlich auch gehen wenn man VS auf dem SPS installiert, aber da zicken die Admins immer so rum 🙂

Okay das war jetzt aber garnicht deine Frage. Also ich denke mit einen einfachen Codebeispiel ist dir nicht wirklich geholfen. ich müsste erstmal wissen was du machen willst (Dokumentenbibliotheken, Listen usw.) Wenn du dich näher damit beschäftigen willst (oder musst) kann ich diur das Buch "Sharepoint Portal Server 2003 & Windows SharePoint Services" empfehlen. Da ist der SPS/WSS gut erklärt und die Programmierbeispiele sind leicht verständlich. Da liegt auch eine CD mit Codebeispielen bei. Die darf ich dir natürlich nicht geben, weil man das ja nicht macht. 😉 räusper Du könntest aber mir nur mal so Intresse halber deine E-Mail Adresse geben.

Gruß,
Snowwolf

29.07.2005 - 12:18 Uhr

Schreib doch einfach einen Dienst der auf dem SPS-Server ausgeführt wird. Dann kannst du auch noch gleich das Objektmodell des SPS-direkt nutzen, was wesentlich bequemer ist.

03.07.2005 - 21:04 Uhr

Also gibt z.B. den hier:

http://www.codeproject.com/useritems/MonthCalendar.asp

Gibt sicherlich jede Menge bei Codeproject. Einfach mal nach Calendar suchen.

29.06.2005 - 11:02 Uhr

Würde statt einer zweiten Form ein UserControl nehmen dann hast du den Mist mit doppelten Rahmen und so nicht.

26.06.2005 - 19:56 Uhr
  1. November laut MS (http://www.microsoft.com/germany/presseservice/meldungen.asp?ID=531383)

Ob das dann Probleme mit der Final gibt, kann ich nur drüber spekulieren. Von beta 1 auf Beta2 musste man eigentlich "nur" Framework 2.0 und Beta1 deinstallieren und es ging.
Die Beta2 macht ja insgesamt nen recht guten Eindruck, denke also es sollte realtiv unproblematisch sein.

Viel schlimmer sind die Betas von Avalon und Indigo. Hab da immer noch Fragmente drauf die ich nicht mehr runter bekomm.

26.06.2005 - 18:40 Uhr

Hab beides am laufen. Absolut kein Problem. Der versucht auch nicht das alte irgendwie upzudaten oder so. Laufen ohne Schwierigkeiten nebeneinander, gerne auch gleichzeitig 😁

26.06.2005 - 16:43 Uhr

Ja... jein.
Die Express-Versionen stelle die kleinste Ausbaustufe des kommenden Visual Studios 2005 da.
Also um genau zu sein sind die Express-Versionen nur die Programmierungebung. Natürlich bekommt man dadurch aber dann auch .net 2.0

Um jetzt aber nicht komplizierter zu machen als nötig:
Installier dir einfach den "Visual Web Developer 2005 Express Edition" und los gehts.
http://lab.msdn.microsoft.com/express/

Zum testen/programmieren musst du nichtmal einen Webserver aufsetzen.

21.06.2005 - 22:51 Uhr

Also mit den Befehl "schtasks" kann man wohl auch das Benutzerkonto einstellen. Is halt immer noch so ein hässliches "DOS-Kommando". Was von Framework wäre natürlich schöner, aber mir ist dahin gehend auch nichts bekannt.

Mit hilfe diese Seite solltest du dir eigentlich den richtigen Befehl zusammenbasteln können: http://www.ss64.com/nt/schtasks.html

Gruß,
Snowwolf

06.06.2005 - 15:29 Uhr

So nochmal nachgedacht (schön wenn man sich mit allen beschäftigt, nur nicht mit den was man soll):

Eigentlich würde es ja reichen wenn das Teil auf den Server läuft und der einfach nachprüfst ob die Rechner an sind. Wenns ein Active Directory gibt müsstest du vermutlich (kenn mich da nicht so gut aus) nichtmal selber pingen. Am besten wäre dann halt eine Implementierung als Service. Hätte aber den großen Vorteil das du dich um das Deployment nicht kümmern müsstest. Außerdem wäre das dann auch leichter mit den Sicherheitsaspekt gelöst.

06.06.2005 - 15:10 Uhr

Sry, befürchte mir fehlt die Zeit für sowas.
Aber mal 2. Sachen:

-Würde automatisch den Anmeldenamen für Windows bei den Buchungen nehmen. Dann muss man sich nicht manuell anmelden

-Würd ich mich einfach mal umschauen was es schon auf dem Markt gibt. Also ich wette hierfür gibt es schon jedemenge Lösungen. Vermutlich auch kostenlos. Könntest dann die gleich verwenden oder nur die besten Ideen klauen 😉

30.05.2005 - 09:04 Uhr

Hätte dir sowieso fast immer zu C# geraten 😄, es sei denn du hättest jetzt gesagt du programmierst seit 10 Jahren in VB.

Wenn du aber eh schon mal was in Java gemacht hast, ist die Sache aber wirklich klar. Nimm C#.

30.05.2005 - 00:24 Uhr

Mit was hast du denn bisher programmiert?

20.05.2005 - 17:35 Uhr

So will garnicht erst behaupten, dass ich das mit diesen Dependency Inversion wirklich verstanden hab. 🙂 Also erzähl ich mal kurz so wie ich denke das es ist und ihr sagt mir ob ich recht habe (eigentlich wollt ich ja über AOP reden aber egal):

Also ich erstell von einen Objekt verwendete Objekte nicht mehr direkt, sondern überlass den IoC-Object diese Arbeit. In Spring ist das nur eine XML-Datei.
Vorteil ist wenn ich nur gegen Interfaces programmiere (sonst funktioniert es doch nicht???), kann ich relativ leicht ein Objekt austauschen. Das gibt es ja schließlich in der XML nur einmal. Weiteren Vorteil seh ich jetzt nicht. Gibt es noch mehr?

Hab ich das jetzt richtig verstanden und falls ja verwendet ihr das auch produktiv?

18.05.2005 - 15:16 Uhr

Sry.
War nicht ein Leerzeichen, sondern ein leeres Zeichen. Kommt davon wenn man nie verwendet.

18.05.2005 - 14:07 Uhr

Also wenn du das schöner findest 🙂

+ string.Empty + 
18.05.2005 - 13:59 Uhr

@norman_timo
Bisher hatten alle Implementierungen einen * Operator. Brauchst also nicht alle Funktionen angeben. 😉

@svenso
Also was ich der Einfachheit unterschlagen hab: Zumindest in der Implementierung die ich mir angeschaut habe, musste man der Zielklasse (hier: TestObject) auch noch die verwendeten Aspekte mit angeben.
Dadurch deine bedenken bezüglich Kapselung/Wartbarkeit beseitigt?

Ach ja und was ist eigentlich Spring.net?

16.05.2005 - 01:11 Uhr

Hallo,
wollt mal fragen ob ihr schon Erfahrungen mit aspektorientierter Programmierung habt, obs jemand schon einsetzt (dann wahrscheinlich eher in Java als C#) usw.

Für alle die mit den Begriff noch nichts anfangen können: http://wwwse.fhs-hagenberg.ac.at/se/berufspraktika/2002/se99047/contents/german/aop.html oder unter Google gibt es jede Menge zu "AOP".

Versuchs aber mal kurz mit Hilfe eines Beispiels kurz zu erläutern:
In den heutigen Programmen gibt es einige Aspekte die sich den eigentlichen Gedanken der objektorientierten Progammierung wiedersetzen. Ziel ist ja möglichst alles in kleine, unabhängige Stücke zu zerlegen. Allerdings gibt es einige Aspekte bei denen das nicht vernünftig geht wie bei Logging, Validierung, Fehlerbehandlung usw. Man hat das praktisch in jeder Klasse (bzw. Methode) und das absolut redundant. Mithilfe der aspektorientierten Programmierung kann man das nun von den eigentlichen Code trennen.
Konkret sieht das folgendermaßen aus (idealisiert dargestellt):

Erstmal ohne AOP:


	public class TestObject
	{
		...
		public int MathFkt1(int a, int b)
		{
                      log.write("Starte MathFkt1");
                      return a+b;		
		}

		public int MathFkt2(int a, int b)
		{
                      log.write("Starte MathFkt2");
                      return a*b;		
		}
	}

Und so mit AOP:


	public class TestObject
	{
		...
		public int MathFkt1(int a, int b)
		{
                      return a+b;		
		}

		public int MathFkt2(int a, int b)
		{
                      return a*b;		
		}
	}

	public class LogAOP: Aspect
	{
        ...
		[IncludeMethods("TestObject", "MathFkt1")] //Zielfunktion
        [IncludeMethods("TestObject", "MathFkt2")] //Zielfunktion
		[Advice(AdviceTypes.Before)] //führe das aus bevor die Funktion aufgerufen wird			
        public void logFkt()
		{
			 log.write("Starte " + FktName);			
		}
    }

Die LogAOP Klasse merkt wenn die Funktion MathFkt1 oder 2 aufgerufen wird. In diesen Fall wird dann zuerst logFkt aufgerufen und erst dann die konkrete Funktion.

Das Ergebnis ist letzlich das Gleiche. Der Code ist aber kürzer(zumindest in der eigentlichen Klasse) und die Log-Funkton leicher wartbar, weil sie nur einmal vorkommt.

Hoffe das war jetzt halbwegs verständlich. Falls nicht fragt einfach nach. Könnt jetzt natürlich auch noch ein paar Links zu konkrekten Implementierungen posten, meine bisherige Erfahrungen damit usw. Allerdings hab ich jetzt schon viel mehr geschrieben als ich eigentlich wollte und ich bin mir nicht sicher ob das für euch intressant ist.

Gruß,
Snowwolf

30.04.2005 - 11:12 Uhr

Danke! Genau das meinte ich.
Eigentlich kann MS es ja garnicht offentsichtlicher in ihren Porgramm unterbringen, aber irgendwie hab ich es doch geschafft das zu übersehen.

30.04.2005 - 10:49 Uhr

Hallo,
mal ganz naiv gefragt wo finde ich eigentlich diese Sachen wie Serverarchitekturplanung, Webserviceplanung usw. in neuen VS.

Gruß,
Snowwolf

30.04.2005 - 00:08 Uhr

Also habs jetzt nur direkt von der Shell aus getestet, aber da reicht es wenn man denn Dateinamen in Anführungszeichen setzt und er hält es für eine Datei.

Müsste dann wohl so im Code aussehen:


p.StartInfo.Arguments = "/add "+ "\"" + file + "\"";

19.04.2005 - 23:57 Uhr

@Programmierhans


using System.Globalization.Christianity.pope;

using System.xml.god; //was hab ihr gedacht ist die einzig wahre Sprache um mit Gott zu reden???

Also eigentlich ist es doch egal wer gewählt wurde. Die Kandidaten sind alle in einen Alter wo sich die Normalsterblichen schon längst in Rente befinden. Das dann fast nur noch Personen mit einer relaitv konservativen Einstellung vorherrschen ist eigentlich logisch.

Ansonsten ... konservativ ist ja wieder In. Also passt er doch eigentlich ganz gut.

18.04.2005 - 00:21 Uhr

Dann war also nur die Verknüpfung schrott. Leg die halt einfach neu an.
Der Pfad ist" %SystemRoot%\system32\inetsrv\iis.msc"