webForumDet fria alternativet

jobbigt fel

.NET

3 svar · 245 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

har följande kod:

public String strConn = ConfigurationSettings.AppSettings["database"];
public OdbcConnection objConn = new OdbcConnection(strConn);

public OdbcConnection OpenConnection(String strConnection){
	OdbcConnection myConn = new OdbcConnection(strConnection);
	return myConn;
}

men när jag försöker köra den får jag följande fel:

Compiler Error Message: CS0236: A field initializer cannot reference the nonstatic field, method, or property 'ASP.text_aspx.strConn'

Line 12:
Line 13: public String strConn = ConfigurationSettings.AppSettings["database"];
Line 14: private OdbcConnection objConn = OpenConnection(strConn);
Line 15:
Line 16: public OdbcConnection OpenConnection(String strConnection){

har suttit hela morgonen med detta men inte fattat vad som e fel, nån som ser något fel?

Medlem sedan aug. 20021 752 inlägg
#2

Det låter som att objektet strConn inte är skapat/finns. Eller är du har glömt något, typ strConn.text.

/Viktor

Medlem sedan dec. 2000399 inlägg
#3

Ett exempel på hur man skapar felet är:

public class MyClass
{
   public int i = 5;
   public int j = i;  // CS0236
   public int k;      // initialize in constructor

   MyClass()
   {
      k = i;
   }

   public static void Main()
   {
   }
}

Förresten verkar koden du postade inte riktigt stämma med den som ger felmeddelandet. I koden: public OdbcConnection objConn = new OdbcConnection(strConn);
I felmeddelandet: private OdbcConnection objConn = OpenConnection(strConn);

Metoden verkar också lite onödig eftersom den inte gör så mycket. Du sparar kod om du skippar den.

Medlem sedan jan. 20001 372 inlägg
#4

löste det, har dock inte en aning om vad det var som var fel :)

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)