webForumDet fria alternativet

Komma åt properpty i class?

.NET

3 svar · 302 visningar · startad av maqe

Medlem sedan dec. 2003824 inlägg
Frågan#1

Jag har gjort en liten klass (Config) som hämtar lite parametrar från web.config. Klassens properties vill jag komma åt från en annan klass med t.ex. Config.myName; men det verkar som att jag måste skapa en instans av Config för att komma åt dom publika properties som ligger i klassen. Man skall väl kunna komma åt dom utan att behöva skapa ett objekt av klassen Config först?

Medlem sedan sep. 20011 914 inlägg
#2

Static eller shared

//C#
public static string GetSomeThing
{
   get{return _something;}
   set{_something = value;}
}

'VB.NET
Public Shared Property GetSomeThing() As String
   Get
      Return _something
   End Get
   Set
      _something = value
   End Set
End Property
Medlem sedan dec. 2003824 inlägg
#3

Så enkelt var det ja, tack Dino

Medlem sedan dec. 19991 072 inlägg
#4

En annan variant är att använda en "Singleton" - dvs en "självinstansierande" klass - där du även kan dra nytta av objekts-specifik data och logik över hela objektet:

public class Config
{
//privat konstruktor
private Config(){}

private int callCount;

private static Config config;

public static Config Current
{
get
{
//"Lazy Loading" 
if(this.config==null)
   config = new Config();

return config;
}

public string GetSomethingAndDoSomething()
{
//Använd objekt-specifik data 
callCount++;
return "";}
}
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)