- J'ai créé une classe (ConflictingBooking) qui contient des champs pour diverses informations concernant une réservation spécifique.
- Je parcours une base de données et sélectionne certaines réservations en fonction de certains critères.
- Je souhaite créer une instance de la classe avec les critères sélectionnés.
- Je veux ensuite ajouter chacune de ces instances de classe à une liste que je vais utiliser ailleurs.
problème que j'ai est à l'étape 3. Je veux nommer la nouvelle instance quelque chose comme "trouvé [i]" où i est incrémentée pour chaque réservation trouvée:Création d'instances de classes à l'exécution
ConflictingBooking found = new ConflictingBooking();
found.BookingNumber = conflictingBookingNumber;
found.BookingStarts = conflictingBookingDT;
conflictingBookings.Add(found);
Dans le code ci-dessus, Je dois remplacer "trouvé" par programme.
Alors que j'apprécierais un simple extrait de code à suivre, j'aimerais aussi lire quelques références afin que je sache ce que je fais :-). Je ne sais pas comment faire pour google mon problème.
Il semble que je ne l'ai pas été tout à fait clair - est ici le code approprié:
dbManager.Open();
dbManager.ExecuteReader(CommandType.Text, string.Format("SELECT BookingDate, {0} FROM BTable WHERE Court IN {1} AND BookingDate IN ({2})", columns, facilityIDs, bookingDates));
using (IDataReader rdr = dbManager.DataReader)
{
decimal conflictingBookingNumber = 0;
DateTime conflictingBookingDT;
object result = null;
while (rdr.Read())
{
for (int i = 0; i < requestedColumnNames.Count; i++)
{
result = dbManager.DataReader[requestedColumnNames[i].ToString()];
if (result != null)
conflictingBookingNumber = Convert.ToDecimal(result);
result = dbManager.DataReader["BookingDate"];
if (result != null)
conflictingBookingDT = Convert.ToDateTime(result);
if (conflictingBookingNumber > 0)
{
int next = conflictingBookings.Count + 1;
ConflictingBooking found = new ConflictingBooking();
found.BookingNumber = conflictingBookingNumber;
found.BookingStarts = conflictingBookingDT;
// conflictingBookings is a List<conflictingBooking>
conflictingBookings.Add(found);
}
}
}
}
espoir qui clarifie mon problème.
Que remplacez-vous par 'replace found programatically'? Ma compréhension est que le morceau de code que vous fournissez sera délimité dans une sorte d'itération où vous allez remplir votre collection. Pouvez-vous clarifier s'il vous plait? – JohnP
Alors, quel est exactement le problème avec votre code? L'opérateur 'new' fait exactement cela - crée une nouvelle instance d'une classe. Peut-être que cela vous aiderait si vous clarifiez * pourquoi * vous devez remplacer 'found' qui est un nom de variable. – Serguei