Advertisement
Guest User

zdzdzd

a guest
Apr 1st, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. private void OnClone(object parameter) {
  2. if (parameter != null && CanClone(parameter)) {
  3. object[] list = (parameter as IList).OfType<object>().ToArray<object>();
  4. object[] array = list;
  5. for (int i = 0; i < array.Length; i++) {
  6. object item = array[i];
  7. object cloned = Activator.CreateInstance(item.GetType());
  8. PropertyInfo[] properties = item.GetType().GetProperties();
  9. PropertyInfo[] ItemProperties = cloned.GetType().GetProperties();
  10. for (int j = 0; j < properties.Length; j++) {
  11. if (property.PropertyType.IsGenericType && property.PropertyType.GetGenericTypeDefinition() == typeof(List<>)) {
  12. property.SetValue(cloned, itemProperties.GetValue(j));
  13. ItemProperties.SetValue(cloned, properties[j].getValue())
  14. }
  15. }
  16. m_rows.Add(cloned);
  17. m_editor.ObjectsGrid.SelectedItem = cloned;
  18. m_editor.ObjectsGrid.ScrollIntoView(cloned);
  19. m_editor.ObjectsGrid.Focus();
  20. EditedObject editedObject = new EditedObject(cloned, ObjectState.Added);
  21. m_editedObjects.Push(editedObject);
  22. }
  23. }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement