Is it possible to have dynamic object properties in .net 4.0

t1m

New Member
I want to add new properties to an object based on loop iterations, is this possible in .Net? The reason I want to do this is I am looping through rows in an excel spreadsheet and for every successfully read row I want to create a new dynamic object property. So when the loop is complete I can simply pass the object to a method and log all the records.See below for code so far:\[code\] protected void ReadData(string filePath, bool upload) { StringBuilder sb = new StringBuilder(); #region upload if (upload == true) // CSV file upload chosen { using (CsvReader csv = new CsvReader(new StreamReader(filePath), true)) // Cache CSV file to memory { int fieldCount = csv.FieldCount; // Total number of fields per row string[] headers = csv.GetFieldHeaders(); // Correct CSV headers stored in array SortedList<int, string> errorList = new SortedList<int, string>(); // This list will contain error values ORCData data = http://stackoverflow.com/questions/12670404/new ORCData(); bool errorFlag = false; int errorCount = 0; // Check if headers are correct first before reading data if (headers[0] !="first name" || headers[1] != "last name" || headers[2] != "job title" || headers[3] != "email address" || headers[4] != "telephone number" || headers[5] != "company" || headers[6] != "research manager" || headers[7] != "user card number") { sb.Append("Headers are incorrect"); } else { while (csv.ReadNextRecord()) try { //Check csv obj data for valid values for (int i = 0; i < fieldCount; i++) { if (i == 0 || i == 1) // FirstName and LastName { if (Regex.IsMatch(csv.ToString(), "^[a-z]+$", RegexOptions.IgnoreCase) == false) //REGEX letters only min of 5 char max of 20 { errorList.Add(errorCount, csv); errorCount += 1; errorFlag = true; string text = csv.ToString(); } } } if (errorFlag == true) { sb.Append("<b>" + "Number of Error: " + errorCount + "</b>"); sb.Append("<ul>"); foreach (KeyValuePair<int, string> key in errorList) { sb.Append("<li>" + key.Value + "</li>"); } } else // All validation checks equaled to false. Create User { string message = ORCLdap.CreateUserAccount(rootLDAPPath, svcUsername, svcPassword, csv[0], csv[1], csv[2], csv[3], csv[4], csv[5], csv[7]); // TODO: Add to object here sb.Append(message); //sb.Append("<b>New user data uploaded successfully</b>"); } }// end of try catch (Exception ex) { sb.Append(ex.ToString()); } finally { lblMessage.Text = sb.ToString(); sb.Remove(0, sb.Length); hdnRdoSelection.Value = "http://stackoverflow.com/questions/12670404/1"; } } } } #endregion\[/code\]I have never tried to do this before so I am not sure how I would approach it but any help would be great. Thanks.
 
Back
Top