Я новичок, когда дело доходит до размышлений, и на данный момент все это кажется довольно запутанным, так что простите, если некоторые из ваших ответов, кажется, смущают меня немного больше !!!
Я сейчаспопытка написать небольшой скрипт, который будет клонировать данные, хранящиеся в одной таблице данных, на основе значения, а затем повторно вставить эти данные в ту же таблицу, хотя и с измененным идентификатором.В настоящее время я пытаюсь использовать рефлексию, поскольку мне нужно сделать это для нескольких таблиц, и я не хочу кодировать чрезмерное количество предложений для бесчисленного количества таблиц.
Код, который я написал для отражения до сих порметод выглядит следующим образом:
public static void CopyData(object sourceObject, object targetObject)
{
object[] value = new object[1];
object[] param = new object[0];
foreach (PropertyInfo propertyInfo in sourceObject.GetType().GetProperties())
{
PropertyInfo targetPropertyInfo = targetObject.GetType().GetProperty(propertyInfo.Name);
if (targetPropertyInfo.CanWrite && targetPropertyInfo.CanRead)
{
value[0] = propertyInfo.GetValue(sourceObject, BindingFlags.Public, null, null, null);
targetPropertyInfo.SetValue(targetObject, value, null);
}
}
}
Теперь у меня нет проблем с передачей необходимых данных в этот класс, ОДНАКО я получаю следующую ошибку:
Object of type 'System.Object[]' cannot be converted to type 'System.Int32'.
Я считаю, что этобыл связан с полями Integer, используемыми для идентификации ссылок в данных.Важно, чтобы я оставил их нетронутыми для последующей обработки.
Может кто-нибудь указать мне правильное направление решения этой проблемы ????
Большое спасибо