webForumDet fria alternativet
Logga in / Bli medlem

An object reference is require...

.NET

5 svar · 264 visningar · startad av Josef

Medlem sedan mars 20023 561 inlägg
Trådstart#1

Varför får jag An object reference is required for the nonstatic field, method, or property på det här:

public SqlConnection EstablishConnection()
{
	SqlConnection Conn = new SqlConnection("SQLOLEDB");
	return Conn;
}

och anropar med:

public SqlConnection objConn = EstablishConnection();
Medlem sedan juni 20022 599 inlägg
#2

Det funkar att skriva så om du deklarerar EstablishConnection som public static. Men varför egentligen ha ett publikt fält och metod som gör samma sak?

Medlem sedan mars 20023 561 inlägg
#3

Detta är ju olika klasser så om man någon gång skulle ändra på connectionsträngen blir det mycket enklare så här.

Ska prova... (Återkommer)

Medlem sedan mars 20023 561 inlägg
#4

Japp, det fungerade, men jag var tvungen att ta bort mitt interface till klassen där funktionen EstablishConnection ingick. Varför? VS.NET 2003 tyckte inte om att man deklarade funktionen som static om den var en del av ett interface.

Medlem sedan juni 20022 599 inlägg
#5

Detta är ju olika klasser

OK. Fattade det som att det var samma klass. Men om det är olika klasser så borde du väl kunna skriva:

public SqlConnection objConn = new DenAndraKlassen().EstablishConnection();

utan att ha EstablishConnection som Static?

tyckte inte om att man deklarade funktionen som static om den var en del av ett interface

Nej, man kan nog inte deklarera metoder i ett interface som Static. Tror inte det iaf.

Medlem sedan mars 20023 561 inlägg
#6

/red: Ändrade på det hela nu och gjorde som du skrev.
Fungerade toppen. Tackar! :bire

257 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)