PDA

View Full Version : A field initializer cannot reference the nonstatic field, method, or property...



Programmer.G
چهارشنبه 02 بهمن 1387, 01:00 صبح
سلام

لطفا بگید چطور می تونم خطای زیر را برطرف کنم.


System.Data.OleDb.OleDbConnection connect = new System.Data.OleDb.OleDbConnection(constring);



برای خط فوق پیام خطای زیر را نشون می ده.


Error 3 A field initializer cannot reference the nonstatic field, method, or property 'Dictionary.frmMain.constring' C:\Dictionary\CS\frmMain.cs 56 85 Dictionary

parsamiga
چهارشنبه 02 بهمن 1387, 08:08 صبح
سلام
فکر می کنم آدرس دهی فایل DB اشتباه باشه ( constring )
فایل Access رو توی پوشه Debug برنامت کپی کن

علیرضا مداح
چهارشنبه 02 بهمن 1387, 08:24 صبح
سلام دوست عزیز،
شما نمی توانید از یک فیلد، پروپرتی یا متد non-static برای Initialize کردن یک فیلد دیگر استفاده نمایید،
برای حل بهتر موضوع پیشنهاد میکنم کد خود را به طور کامل در اینجا قرار دهید، اما به عنوان راه حل پیشنهادی:
برای کلاس خود یک سازنده(Constructor) ایجاد نمایید و شیء connect را در آن مقدار دهی نمایید:


using System.Data.OleDb;
public class ConnectionManager
{
private OleDbConnection connect;
public OleDbConnection Connect
{
get { return connect; }
set { connect = value; }
}
//Rewritng the above code using Automatic Properties introduced in C# 3.0 results in:
//public OleDbConnection Connect { get; set; }
public ConnectionManager(string connstr)
{
connect = new OleDbConnection(connstr);
}
}