indholdsrigt svar 
din dataproperty har jeg ikke helt forstået.. jeg vil gerne kunne kalde min data direkte fra min dataklasse uden alt for meget kode:
Hvis jeg gør sådan i min data.cs er der så ikke en mere simpel måde at kunne tilgå min get/set på fra en anden klasse? :/
- private string _server;
-
- public Data(string Server)
- {
- this._server = Server;
-
- }
- public string Server
- {
- get { return _server; }
- set { _server = value; }
- }
Hejsa Jepser
Min DataProperty er det der behøves for at du beholder dit objekt.
Et objekt lever kun så længe der er en pegepind til det som holder fast i det.
Så fx
- public partial class Default : System.Web.UI.Page
- {
- Data dataClass = new Data();
- }
der lever dit Data-objekt kun imellem "{" og "}" og så er det væk igen.
Så hvis du har et event senere (fx. IndexChanged på en dropdown) så findes den ikke fordi ovenstående variabel kun lever i den metode og efter den er der ingenting der holder fast i den eller peger på den = den bliver garbagecollected.
Det eksempel Martin har givet er der noget der holder fast i den ved at den bliver sat i en variabel udenfor metoderne og lever derfor efter hver enkelt metode er udført.
Min DataProperty var blot fordi jeg bedre kan li properties til den slags fremfor en variabel.
Så hvis du gerne vil have dine data fra dit Data-objekt så skal du blot kalde den property eller variabel der holder dit objekt (DataProperty eller dataClass (Martins eksempel)) og så kalde de metoder eller properties på det du har behov for:
- public void DoSomethingAmazing()
- {
- string serverValue = DataProperty.Server;
- //Du skriver ikke ret meget kode for at få data fra dit Data-objekt
- }
Du skal tænke på at din variabel eller property vil holde dit objekt, og derfor holde det. Så når du kalder det får du objektet og derefter kan du kalde properties på det - Så DataProperty giver dig Data-objektet og på dette kan man kalde Server.
Hvis du bruger static sørger du for at det gemmes som en enkelt instans uden behov for en pegepind.
Så hvis du bruger denne kan du skrive Data.Server = "Server goes here", og senere henne bruge den til txtServerAdresse.Text = Data.Server fordi at din værdi vil altid blive gemt i dit objekt uden behov for en pegepind dertil.
Det er noget du bør tænke over om du skal bruge det enormt mange steder og mange steder i din webforms applikation, for hvis du kun skal bruge det på et par enkelte billeder så overvej om det virkelig er det du vil. Ellers vil du have et objekt flyvende rundt i memory uden behov for at skulle bruge specielt tit som ikke bliver garbagecollected og tager unødig plads.
Det er sådanne overvejelser man skal gøre sig når man konstuerer sin applikation.