проблема инициализатора набора типизированных данных с приложением C # windows - PullRequest
0 голосов
/ 08 апреля 2010

Привет,

Я работаю в приложении Windows, используя C #.

У меня есть набранный набор данных с именем packetDBDataSet, и у него есть адаптер таблицы, который называется PackageTableAdapter, с методом для вставки данных, который называется InsertPackets ().

когда я хочу вставить новые данные, я использовал код, который я использовал ранее со страницей asp.net, и он работал нормально, но не получаю ошибку.

вот код:

public packetsDBDataSetTableAdapters.packetsTableAdapter ds = new packetsDBDataSetTableAdapters.packetsTableAdapter();

public packetsDBDataSet.packetsDataTable insert = ds.InsertPackets(); 

и вот ошибка:

Ошибка 1 Инициализатор поля не может ссылаться на нестатическое поле, метод или свойство 'Packets.Form1.ds' C: \ Users \ Ali \ Documents \ Visual Studio 2008 \ Projects \ Packets-3 \ Packets \ Packets \ Form1.cs 26 59 пакетов

Я уже включил в свой проект: использование пакетов; using Packets.packetsDBDataSetTableAdapters;

пожалуйста, совет, чтобы решить эту проблему.

Обновление:

Я тоже пробовал:

публичные пакетыDBDataSetTableAdapters.packetsTableAdapter ds = новые пакетыDBDataSetTableAdapters.packetsTableAdapter ();

* +1025 * ds.InsertPackets ( "1", "2", "3");

и я получаю эту ошибку:

Ошибка 1 Недопустимый токен '(' в объявлении члена класса, структуры или интерфейса C: \ Users \ Ali \ Documents \ Visual Studio 2008 \ Projects \ Packets-3 \ Packets \ Packets \ Form1.cs 28 29 Пакеты

1 Ответ

1 голос
/ 08 апреля 2010

Эти строки называются инициализаторами поля; они объявляют поле и инициализируют его некоторым значением.

Как говорит ошибка, инициализатор поля не может ссылаться на члены экземпляра класса (потому что они выполняются до того, как класс полностью создан).

Поскольку он ссылается на элемент экземпляра ds, вам необходимо переместить insert = ds.InsertPackets(); в конструктор.

...