- Ich habe eine Klasse (ConflictingBooking) erstellt, die Felder für verschiedene Informationen in Bezug auf eine bestimmte Reservierung enthält.
- Ich Schleife durch eine Datenbank und wählen Sie bestimmte Reservierungen auf der Grundlage bestimmter Kriterien.
- Ich möchte eine Instanz der Klasse mit den ausgewählten bestimmten Kriterien erstellen.
- Ich möchte dann jede dieser Klassen-Instanzen zu einer Liste hinzufügen, die ich an anderer Stelle verwenden werde.
Problem ich habe, ist in Schritt 3. ich die neue Instanz so etwas wie "gefunden [i]" nennen will, wo ich für jede Reservierung gefunden erhöht:Erstellen von Instanzen von Klassen zur Laufzeit
ConflictingBooking found = new ConflictingBooking();
found.BookingNumber = conflictingBookingNumber;
found.BookingStarts = conflictingBookingDT;
conflictingBookings.Add(found);
In dem obigen Code, Ich muss "gefunden" programmatisch ersetzen.
Während ich ein einfaches Code-Snippet zu schätzen wüsste, würde ich auch gerne eine Referenz lesen, damit ich weiß, was ich mache :-). Ich weiß einfach nicht, wie ich mein Problem googlen soll.
scheint, ich habe nicht ganz klar gewesen - hier ist der entsprechende Code:
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);
}
}
}
}
Hoffnung, dass mein Problem verdeutlicht.
Was genau werden Sie "programmatisch gefunden" ersetzen? Mein Verständnis ist, dass das Stück Code, den Sie zur Verfügung stellen, innerhalb einer Art von Iteration, wo Sie Ihre Sammlung bevölkern werden. Können Sie bitte klarstellen? – JohnP
Was genau ist das Problem mit Ihrem Code? Der "neue" Operator führt genau das aus - erstellt eine neue Instanz einer Klasse. Vielleicht würde es helfen, wenn Sie klären * warum * Sie müssen "gefunden" ersetzen, das ist ein variabler Name. – Serguei