Laden...

Profil von DavidT

myCSharp.de - Member Mitglied seit

Alle Beiträge

Hu herbivore,

ganz ehrlich hätte ich den Weg auch ncht gewählt weil ich mit der Doku nicht so recht was anfangen kann... Auch wenn die Frage evt blöd ist, gibts irgendwo ein "tut" wo mal erklärt wird, wie man richtig mit der doku umgeht un din ihr sucht?

Gruß David

29.08.2007 - 11:31 Uhr

Hallo Fenris,

Ich favorisiere generell zu WinForms und vor allem GDI+ das Buch:
Windows-Programmierung mit Visual C#

leider gibts das bei Amazon nur noch gebraucht, ist schon etwas älter.

der aktuelle Nachfolger von dem Buch ist das hier

Windows Forms-Programmierung mit Visual C sharp 2005

das sind so meine Favoriten, sonst halt das C# Openbook von Kühnel...

Gruß David

27.08.2007 - 21:21 Uhr

Alles klar, danke herbivore

27.08.2007 - 16:32 Uhr

Ich stelle in dem zusammenhang mal eine weitere Frage:
Macht man soetwas / Kann man soetwas mit remoting lösen?

Gruß David

Wenn du ein KlassenDiagramm wie das hier hast

dann kannst du ohne weiteres sowas hier machen:


Basisklasse[] coll = new Basisklasse[4];
coll[0] = new Subklasse1();
coll[1] = new Subklasse2();
coll[2] = new Subklasse3();
coll[3] = new Basisklasse();

jedoch kannst du dann nur die Merkmale der Basisklasse nutzen, z.B. so:

coll[0].methode1();

nicht funktionieren würde das:

coll[0].subMethode1()

weil die Methode nicht zur Basisklasse gehört.

Wenn du z.B. Methode1() aus der Basisklasse in einer Unterklasse überdecken würdest, würde nach der Methode oben immernoch die verdeckte Methode1() der Basisklasse aufgerufen. Erst wenn du z.B. die Methode als virtuell deklarierst und sie in der Unterklasse überschreibst, könnte man die verdeckende Methode1() aufrufen. Hoffe das war deine Frage.

Wie mein Vorposter schon gesagt hat kannst du auf die Methoden der Unterklassen dann nur mit Casts zugreifen, z.B. so:

((Subklasse1)coll[0]).Submethode1();

Hallo Pelpetin,

auch wenn es nichts mit deiner Frage zu tun hat, du hast links im Menü das Openbook zu C#.
Wenn du C# lernen willst empfehle ich dir die ersten 9 Kapitel davon gründlich durchzuarbeiten, finde es ist nirgends so gut erklärt wie in diesem Buch!
Und in diesem Forum wurde glaub noch niemand für blöde Fragen an den Pranger gestellt... 🙂

24.08.2007 - 10:51 Uhr

Ok, vielen Dank euch beiden!

24.08.2007 - 10:28 Uhr

Hallo, ich mache mich grad Muster-technisch schlau, habe jedoch nur ein Buch mit Java Background.

Wie sieht die implementierung des Observerpattern in C# aus? Ist das verwenden von Events bereits das Observerpattern? Gibt es in C# ähnliche Klassen bzw. Schnittstellen wie Observable und Observer in Java?

Danke für eure Hilfe.

21.08.2007 - 20:11 Uhr

Wie wärs mit den netten todesnervenden Baloontips rechts unten? Windows macht das doch auch immer wenn Speicher knapp wird, dazu was blinkendes und schönen Sound 😁

Schau dir mal die ICertificatePolicy an, die beschreibt nur eine Methode und deren Rückgabewert bestimmt ob ein Zertifikat ok ist oder nicht. Hab es mal in nem anderen Context genutzt, aber könnte da auch klappen.

Möglich ist das sicherlich, ich finde aber keine Klasse/Methode die das übernimmt. Notfalls musst du halt den String in Chars splitten und die dann einzelt um den Kreis setzen und dann in Linie mit dem MIttelpunkt des Kreises drehen

Falls du mit Tips auch solche meinst, die nichts direkt mit deiner Frage zu tun haben:
aforge.NET bietet eine eine, teils geniale Grafikbibliothek an, unter anderem ist bei den Demoprojekten auch ein Grafikprogramm dabei. Evt kannst du von der Effektbib oder aus dem Demoprojekt was nutzen / abschauen...

Gruß David

21.08.2007 - 14:41 Uhr

Hallo,

der Buchshop hier ist ja wirklich gut, jedoch würde ich mir in jedem Post im Buchforum eine Verlinkung auf einen Thread in einem anderen Forum wünschen, wo User Kommentare zu den Büchern abgeben können, quasi die wie bei Amazon. Habe bei Terrashop schon einige sehr gute Bücher gekauft aber auch andere die total schlecht sind.

Ist sowas realisierbar?

21.08.2007 - 13:44 Uhr

Stimme Svenson vollkommen zu, das ist ein Optimierungsproblem und wohl eins der schwierigeren P-Probleme.

Ich neige dazu immer alles mit Graphen zu lösen.

Ich könnte mir vorstellen, eine Art Punktraster auf deine Zeichnungsfläche zu legen und dann mit dem Dijkstra-Algorithmus zumindest erstmal den kürzesten Weg finden und dabei als Bedingung zu nehmen, dass er nur horizontale Punkte und vertikale Punkte absuchen soll.
Zu beachten wäre dann natürlich das man die Punkte auf dem Raster, auf denen ein gezeichentes Objekt liegt oder schon eine Linie liegt, aus der Menge der verfügbaren Knoten rausnimmt.


Ich bin ne Graupe was Grafik angeht, aber hoffe du siehst was ich meine

Wenn es um Überkreuzungen von 2 Verbindungen geht, würde ich zuerst prüfen, ob du einen Weg mit Dijkstra findest ohne eine Verbindung zu schneiden und danach dasselbe nochmal, dann jedoch überkreuzte Verbindungen zulassen (gibt ja dann keine direkte) und nen Halbkreis bei Überkreuzungen zu zeichen.

Weitere Bedingungen wie Mindestabstand von anderen Objekten usw. musste halt noch in den Dijkstra reinbauen.

Edit: Achja, je nach Abstand der Punkte und größe der Zeichnungsfläche dürfte der Dijkstra eher unperformant sein, daher solltest du auch noch ein Auge auf den A*-Algorithmus werfen, der nutzt noch Heuristiken um die Rechenlast geringer zu halten. Dafür ist er nicht ganz so genau, was den kürzesten Weg angeht, was in deinem Fall aber egal sein sollte.

20.08.2007 - 19:17 Uhr

Hallo,
ich möchte vor dem Programmieren gerne ein Klassendiagramm mit Visio zeichnen. Nun ist das ja nicht wirklich C'-freundlich, da dinge wie Events oder Eigenschaften nicht gehen. Übersehe ich da etwas oder ist es wirklich nicht möglich?
Bei normalen Klassen ist es ja noch aushaltbar das es keine Eigenschaften gibt, aber bei Interfaces wird es dann sehr unübersichtlich...

Auch wenn es nicht dein eigentliches Problem betrifft, warum arbeitest du mit Strings und nicht mit einem normalen Bytestream? ich denke das der um einiges performanter sein dürfte.

Gruß David

20.08.2007 - 15:19 Uhr

Ich weis nicht ob das hier das richtige Forum ist, aber mich würde als Anfänger mal interessieren wie ihr so in der Doku sucht um was zu finden.
Ich meine da scheinen alle Infos drin zu sein, jedoch bin ich oft überfordert was das suchen nach konkreten Informationen angeht.
Der normale Index ist kein Problem, wenn ich Fragen zu einer bestimmten Funktion habe, die ich verwende, makiere ich sie und drücke F1...
Sonst noch Tips? Ich hoffe die Frage ist nun net so blöd für euch, aber ich will ja lernen... g

Events

Beitrag
20.08.2007 - 14:59 Uhr

echt? einfach


muh += methodenname;

anstatt


muh += new EventHandler(methodenname);

??

20.08.2007 - 10:18 Uhr

Ola,

habt ihr Erfahrungen mit guten Büchern zum Compact Framework? Oder gar Onlinequellen?

Hab solche Fragen nu schön öfters gesehen, da einen performancevergleich zu machen ist nicht sinnig da das eine nurmal ein konstrukt und das andere ein operator ist.

Die Operatorvariante benutze ich im quelltext selber gar nicht, weil es für mich einfach schwerer lesbar wird.
bei z.B.

Console.WriteLine("Zahl ist {0}",x>=5?1:0);

liegt für mich der einzige Sinn es mit ? zu machen 🙂

18.08.2007 - 17:33 Uhr

ja so werd ich das dann auch machen...
Wollte halt ne Collection machen die nach aussen z.B. nur die Add-Methode hat! Das geht natürlich auch mit einer Instanzvariablen, jedoch war ich das noch so aus c++ gewohnt und wollte mal wissen ob das auch in C# geht. Egal, danke für die Tips.

18.08.2007 - 17:25 Uhr

ok, ich hatte vor damit quasi von einer List abzuleiten und zwar so, dass in der Unterklasse nicht alle public-Elemente der Basisklasse sichtbar sind... Naja schade, aber danke für die Infos 🙂

18.08.2007 - 16:02 Uhr

Bekomme ich eine private Vererbung aus c++ wie diese:

class muh : privte obermuh

auch in C# hin?

05.08.2007 - 18:33 Uhr

2048 MB bei WinVista... Ist net viel für das os, aber er hat keinerlei Festplattenzugriffe und verursacht nur 8% Prozessorauslastung... Ist mir ein Rätsel...

05.08.2007 - 07:47 Uhr

Danke euch beiden, ich habe den eigentlichen Fehler für das Programm gefunden, kann eure Tips aber trotzdem gut gebrauchen 🙂
Ist der Code mit Debuginfos wirklich so viel langsamer als ohne?

05.08.2007 - 07:46 Uhr

Danke jaensen, DirectShow hatte ich noch gar nicht in Betracht gezogen. Leider kommt es nach studieren deines Artikels für mich nicht in Frage, da ich dann auf jede Client erste die Codecs installieren müsste.
Trotzdem vielen Dank, bin wieder etwas schlauer 🙂

04.08.2007 - 19:59 Uhr

Hallo, ich habe einen MJPEG-Parser in C# geschrieben, mehr oder weniger nach einer ANleitung die extrem gut Funktioniert und vor allem schnell ist (bis zu 33 Frames/s).
Nun habe ich das wie gesagt selbst geproggt und keine grossartigen Änderungen gemacht, die das original beeinflusst haben.
Nun bekomme ich mit meiner aus VS gestarteten Version 2 (!!!) FPS hin! Wie kann das sein? Sind in VS irgendwelche Einstellungen oder Zusatzdaten die meinem Programm hinzugefügt werden (debuginformationen) oder so, die das ganze langsam machen? Weil das kann doch irgendwie nicht sein, oder?

Danke im Voraus.

Gruß David

Den kannte ich auch nicht, bisher in keinem Buch aufgetaucht. Auch wenn ich immo keine Anwendung dafür sehe, gut zu wissen 🙂
Nur Feaks hier... 😉

04.08.2007 - 11:02 Uhr

Besten Danke erstmal, wie sieht es denn mit DirectX aus? Das soll ja angeblich recht schnell sein, gibts da auch so Möglichkeiten?
Weiß einer wie z.B. Fernsehprogramme das machen?

03.08.2007 - 20:16 Uhr

Hallo,

ich sitze derzeit an einem MJPEG-Player für IP-Kamerastreams. Da später mindestens. 12 Kameras auf einem Bildschirm überwacht werden sollen, muss es natürlich performant sein.
Ich habe nun den Decoder relativ performant hinbekommen und stelle mir nun die Frage wie ich sie am schnellsten darstellen kann.

Hat da jemand Erfahrung mit?

Was gibt es alles für möglichkeiten ein Bild in einem Winform zu zeichnen? pictureBox, GDI+, Direct3D oder directX?

Was würdet ihr mit empfehlen oder habt Ihr evt den ein oder anderen hilfreichen Tip?

Vielen Dank im Voraus,

David

Content-Type und Content-Length gehören aber nicht zu den Bildinformationen, oder?

Danke soweit, aber in dem Stream sollte ja ein vollständiges JPEG-File nach dem anderen kommen...
Warum macht er es dann nicht?

Ne Ahnung wo ich die herbekomme, bzw wie ich die erstelle?

Hallo,
ich habe folgendes Problem: Ich lese einen Stream von einer IP-Kamera (MJPEG) Format aus und versuche die daraus geparsten Bilder darzustellen.

Kurz zum MJPEG-Format, die Frames sehen folgendermassen aus:


--myboundary
Content-Type:image/jpeg
Content-Length:17036

Bilddaten (17036 Byte lang)

--myboundary
Content-Type:image/jpeg
Content-Length:17022

Bilddaten (17022 Byte lang)

usw...

nun habe ich mir folgenden "Parser" dazu geschrieben:


string[] debval = new string[5];                                        // Debugstrings
            int content_length = 0;                                                 // Speichert die Contentlänge eines Frames
            Stream PicDataStrm = new MemoryStream();                                // Stream zum zwischenspeichern der Bilddaten erzeugen
            StreamWriter strw = new StreamWriter(PicDataStrm);                      // Streamwriter zum Schreiben in den MemoryStream
            char[] DateBuffer;                                                      // Zum Debuggen der Stream-Umleitung

            while (!strr.EndOfStream && !stop_parsing)
            {
                debval[0] = strr.ReadLine();                                        // boundary_value auslesen
                debval[1] = strr.ReadLine();                                        // Content-Type auslesen
                debval[2] = strr.ReadLine();                                        // Content-Length auslesen
                content_length = Convert.ToInt32(
                    (debval[2].Split(new char[] { ':' }))[1].Trim());               // Content-Length in Int umwandeln
                debval[3] = strr.ReadLine();                                        // "" vom Stream holen
                DateBuffer = new char[content_length];                              // Buffferarray erstellen, was so groß ist wie die Bilddaten
                strr.Read(DateBuffer, 0, content_length);                           // Von Index 0 an "content_length" Daten in DataBuffer schreiben                
                strw.Write(DateBuffer, 0, content_length);                          // Ausgelesene Daten in Memory-Stream schreiben
                PicDataStrm.Position = 0;                                           // Bildstream zurücksetzen
                picture = (Bitmap)Image.FromStream(PicDataStrm);                            // Bild aus gewonnen Daten erzeugen
                debval[4] = strr.ReadLine();                                        // "" vom Stream holen
            }

Wobei strr ein StreamReader auf den Responsestream der Cam ist. Das Parsen funktioniert auch wunderbar, die Bilddaten parse ich scheinbar richtig heraus.

Wenn ich aber in die Zeile komme wo ich das Bild erzeuge, schmeist er eine Ausnahme "ArgumentException"-Ausnahme, die Bilddaten scheinen also falsch zu sein.
Auch wenn ich die Bilddaten in eine jpeg-Datei schreibe, kann ich sie nicht mit einem Bildbetrachtungstool öffnen.

Hat jemand ne Idee woran es liegen könnte?

Vielen Dank im Voraus,

Gruß David

26.06.2007 - 19:04 Uhr

Hallo Trax,

ich denke mal es soll nicht Sinn deines Praktikums sein das du dir den Quelltext für deine Aufgabe irgendwo aus dem Internet ziehst, von daher nur Tips 😉

Wie herbivore schon gesagt hast musst du die Werte des Textfeldes erst konvertieren. Standardmässig liefern Textfelder nur Zeichenketten zurück, damit kannst du natürlich nicht rechnen.
Von daher musst du den Wert vor dem Rechnen erst konvertieren, z.B. so:

int Zahl 1 = Convert.toInt32(textBox1.Text);

Nun hast du die Zahl in einer Variablen stehen und kannst damit rechnen. Problematisch dabei ist, was passiert, wenn dein Wert im Textfeld keine Zahl ist.
Dann kann der Wert nicht konvertiert werden und es wird eine Ausnahme ausgelöst. Dem Problem solltest du dich später evtl. auch noch stellen.

Wie schon links im Menü angemerkt ist Galileo Visual C# 2005 Openbook eine sehr gute und kostenlose Möglichkeit C# zu lernen. Für deinen Bedarf sollte es schon genügen wenn du die ersten 6 Kapitel davon ließt.

20.06.2007 - 11:30 Uhr

Richtig genau, das war das "Problem" an meinem Programm. Vielen Dank nochmal an alle für die Hilfe.

19.06.2007 - 22:09 Uhr

super klasse, vielen Dank!
Scheinst so der alleinunterhalter hier im Board zu sein, kann das? Werde von nun an auch mal hier reinschauen und gukcne ob ich anderen Leuten helfen kann 🙂

19.06.2007 - 21:32 Uhr

Hmm entschuldige das generve, aber könnteste mir ein Beispiel dazu geben? Steige durch die Onlineartikel nicht so ganz durch...

19.06.2007 - 21:27 Uhr

super, vielen Dank! 🙂

19.06.2007 - 20:38 Uhr

Hallo, ich habe für ein Uniprojekt einen Mailverteiler geschrieben der als Dienst läuft. Das tut er nun auch endlich anständig.

Das problem ist, dass er immer an die 80% CPU last zieht.

also zuerstm mal mein Konzept, ich habe 3 "Module":

  • Watchdog (Fragt den Server in bestimmten abständen nach neuen Mails ab)
  • Mailer (Zieht die Mails vom Server und verschickt sie)
  • Validator (prüft ob die mail ok ist, absender sendeberechtigt usw)

nun habe ich den WatchDog als KLasse implementiert indem ein Timer von einem einstellbaren Intervall runterzählt und dann die Funktion zum abrufen ausführt. Findet diese eine Mail löst sie das NewMailEvent aus.

Auszugsweise meine Mainfunktion:


static void main()
{
  Watchdog wd = new Watchdog();
  wd.intervall = 10000;
  wd.NewMailEvent +=NewMailEventhandler(neueMail);
  wd.start();
 while(1);
}

nun muss ich eine Endlosschleife einfügen, damit das Programm sich nicht sofort schliesst. DIese wird bei jedem Timerablauf verlassen und die Methode im WatchDog ausgeführt.

Kommt daher die hohe Auslastung? Denn DIe Auslastung ist immer, also auch wenn ich den Watchdog auf 2min stelle und er nachweislich keine Mails abruft.

Wie implementiert man soetwas normalerweise das dass Programm nicht in so einer Endlosschleife hängt?

Vielen dank im Voraus!

David

16.06.2007 - 15:19 Uhr

Ähh, brauchst du doch gar nicht?

Mein Beispiel (nicht getestet) sollte das ganz von alleine machen. Die List ist eh dynamisch und das Array das geaddet wird ist immer genau so groß wie die zurückgegebene Anzahl an Spalten.

Versuchs einfach mal, das sollte gehen!

16.06.2007 - 14:54 Uhr

Also, ich weis nicht ob ich deine Frage richtig verstehe aber ich versuch es mal zu interpretieren.

Du möchtest der Klasse ein Query übergeben, dass dir dann das Ergebis zurückgibt?

Nun kann es ja sein, dass wen du z.B. "SELECT * FROM TABLE" machst, dass du mehrere Ergebnisse bekommst, z.B. so:

1 | Herbert | Müller | Weinstrasse 41 | 23456 | Herborn
2 | Willi | Winzig | Dorfstrasse 12 | 21334 | Ulm
3 | Doro | Thea | Fasanenalee 13 | 12345 | Füssing

Das könntest du mit deiner Klasse ja nicht behandeln, da du ja nur einen Datensatz zurückgeben könntest.

Meine spontane Idee wäre folgendes:

List <string[]> Daten; // zum speichern der Daten

dann nach dem Query:

while(dr.Read())
{
 string[] SubDaten = new string[dr.FieldCount];  // Erzeugt ein String-Array, das so lang ist wie die Anzahl der Felder in der Ergebnisliste.
 for(int i = 0; i<dr.FieldCount; i++)
   SubDaten[i] = Convert.ToString(dr[i]);           // Feld[i] in Array schreiben
 Daten.Add(SubDaten);                                    // Nach Schleifendurchlauf das Array in die Liste adden
}

dann haste am Ende in Daten deine Ergebnisliste und brauchst die nur noch returnen...

Meintest du sowas? Hoffe das hilft dir. Falls das unperformant ist, bin dankbar für Hinweise... 🙂

Gruß David.

15.06.2007 - 18:30 Uhr

Ok, habe den Fehler.

Directory.getCurrentDirectory() funktioniert NICHT bei Dienstanwendungen, da die asuführbaren Dateien zuerst in /Windows/system32/ kopiert werden und dann ausgeführt werden so wie es aussieht. Zumindest gibt mir die Funktion das zurück...

15.06.2007 - 18:07 Uhr

Ich bin grad auf die Idee gekommen das evt. der Thread das problem ist, den ich im Dienst erzeuge.

Als habe ich folgendes probiert:


namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread thread = new Thread(new ThreadStart(Mailverteiler.MV.Start));
            thread.Start();
            while (true) ;
        }
    }
}

als Consolenapplikation und auch das funktioniert!

Ich verstehs nicht...

15.06.2007 - 17:58 Uhr

Hmm danke für die Info, leider kann ich den Prozess nicht debuggen da er direkt nach dem start stirbt.

Es ist verteufelt, ich habe nun den Dienst in einer Consolenanwendung zurückgewandelt und alles funktioniert wieder. Dann wieder in einen Dienst umgewandelt und promt dasselbe Problem.

Die Funktion in der die Ausnahme ausgelöst wird.


public void Start()
        {
            Log.WriteDebugLine("Programm wird gestartet"); // Hier wird die exception ausgelöst
            WatchDog WatchDog = new WatchDog(); 

Quellcode meines Dienstes.


namespace Mailverteilerservice
{
    public partial class Service1 : ServiceBase
    {
        Thread thread;
        
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            Mailverteiler.MV mv = new Mailverteiler.MV();
            thread = new Thread(new ThreadStart(mv.Start));
            thread.Start();
            this.EventLog.WriteEntry("Mailverteilerdienst gestartet.");
        }

        protected override void OnStop()
        {
            thread.Abort();
            this.EventLog.WriteEntry("Mailverteilerdienst gestoppt.");
        }
    }
}

Wie macht man das denn normalerweise? Ich habe einfach eine Consolenapplikation gemacht, dann am Ende ein neues Projekt vom Typ Windowsdienst hinzugefügt, die Consolenapplikation in Klassenbibliothek geändert und die Main (ehm. Consolenapplikation) in Start umbenannt.

Darf man das so nicht machen?

15.06.2007 - 16:43 Uhr

Hallo, ich habe folgendes Problem.

Ich habe einen Emailverteiler geschrieben der sich seine Konfiguration aus einer XML-Datei holt und dann in das entsprechende Format konvertiert.

Das alles habe ich als Konsolenapplikation entwickelt und es funktioniert sehr gut. Nun habe ich daraus einen Windowsdienst gemacht, installiert und gestartet.
Nun bekomme ich jedoch immer nach 20 Sekunden eine Exception weil er angeblich einen Wert aus der XML-Datei nicht in Bool konvertieren kann.
Da es im Dienstbetrieb passiert, habe ich (glaube ich zumindest) keinerlei Debugmöglichkeit ausser halt die normalen Informationen die man bekommt.

Hat da jemand ähnliche Erfahrungen?

Vielen Dank im Voraus,

David

30.05.2007 - 12:44 Uhr

Da probiert man schon den ganzen Morgen, kann sich endlich zu einem Forenpost durchringen und findet promt die Lösung!

Im Gegensatz zu den Angaben in den meisten Büchern greift man mit .\SQLExpress auf den aktuellen Server zu...

In Visual C# 2005 von Kühnel steht (local),localhost und . ist zulässig....

Naja, evt haben noch mehr das Problem und nu eine Lösung!

Danke trotzdem 😁

30.05.2007 - 12:36 Uhr

Hallo, wie schon oben erwähnt geht es um das DBMS MSSQL05EX.
Zu diesem versuche ich mit C# eine Verbindung aufzubauen (selbe Rechner) und dann Daten abzufragen. Leider klappt nicht mal das connecten! Mit dem MSSMSE funktioniert das Connecten ohne Probleme!
Ich bekomme jedes Mal eine Exception das der Server nicht kontaktiert werden konnte.


try
            {
                SqlConnection con = new SqlConnection();
                con.ConnectionString = "Server=localhost;Database=Mailverteiler;Trusted_Connection=yes";
                con.Open();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


Leider habe ich vom MSSQL05 wenig Ahnung. Ich habe die Datenbank einfach angelegt, mit Inhalt gefüllt und versuche nun zuzugreifen. Muß ich vorher irgendetwas umstellen um mit C# darauf zugreifen zu können?

Vielen Dank im Voraus!