[C#] Klassenaufruf in Klasse

02/17/2015 18:38 Ludder231#1
Hi,

ich hab ein Problem mit einem Klassenaufruf in einer Klasse. Ich hab die Form1.cs und 3 weitere Klassen("Connection", "Controller", "Charakter").

Nun müssen die "Controller" und "Charakter"-Klassen auf die "Connection"-Klasse zugreifen.

Meine "Connection"-Klasse sieht so aus:
PHP Code:
namespace Test
{
    class 
Connection
    
{

        
CookieCollection Cookies = new CookieCollection();


        public 
string pPost(string URLstring Post)
        {

//.....

        
}

        public 
string _GetConnect157Token(string URL)
        {
//.....
         
}

    }

Nun ist es ja so wenn ich ein eine der anderen Klasse die "Connection"-Klasse aufrufe wird ja auch ein neue CookieCollection angelegt und ich kann dann nicht mehr auf die vorigen Cookies zugreifen.

Also ich meine es so("Charakter.cs")
PHP Code:
namespace MonstersGame_Bot
{
    class 
Charakter
    
{

        
Connection con = new Connection();

public 
void bla()
{
//Somit benutze ich ja nicht die Cookies die schon in der anderen klasse generiert wurden
con.pPost("");

}
}

Muss man das mit static klassen machen? Wenn ja wie? einfach die Connection Klasse in static schreiben?

Hoffe ihr konntet verstehen was ich meine.
02/17/2015 20:49 snow#2
Du solltest dir bei Gelegenheit die Grundlagen der objektorientierten Programmierung anschauen.
02/17/2015 20:53 Mokiri15#3
Deine Connection-Klasse ist unerkennbar weil du zuviel zensiert hast und man nicht genau weiß was sie macht.

So wie du es aufbaust sieht es erstmal richtig aus, sofern du using Test.Connection; nutzt




Wenn deine Connection die Cookies über mehrere Instanzen verwalten soll, musst du nur die CookieCollection static machen, darfst aber dann nicht mehr mit this drüber zugreifen.
02/17/2015 22:03 stotterer09#4
Du musst einfach die Connection klasse an den Konstruktor der anderen beiden klassen übergeben und dann als attribut der klasse in der klasse speichern
oder du machst die klasse statisch, was bedeutet dass es aber nicht verschiedene connections geben kann
Code:
namespace MonstersGame_Bot
{
    class Charakter
    {

        Connection con;

          public Charakter(Connection con)
          {
          this.con = con;
          }

public void bla()
{
//Somit benutze ich ja nicht die Cookies die schon in der anderen klasse generiert wurden
con.pPost("");

}
}
}
wenn du jetz irgendwo ein charakter objekt machst
musst du die connection darauf übergeben
Code:
Character c = new Character(connection)
02/18/2015 08:05 Ludder231#5
Okay, ich bin ziemlich verpeielt. :D Ich hab jz die Connecrtion Klasse statisch gemacht. Bloß die ganze Zeit falsch aufgerufen :D Trozdem dannke für die mühen. Kann geclosed werden