Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void OnClone(object parameter) {
- if (parameter != null && CanClone(parameter)) {
- object[] list = (parameter as IList).OfType<object>().ToArray<object>();
- object[] array = list;
- for (int i = 0; i < array.Length; i++) {
- object item = array[i];
- object cloned = Activator.CreateInstance(item.GetType());
- PropertyInfo[] properties = item.GetType().GetProperties();
- PropertyInfo[] ItemProperties = cloned.GetType().GetProperties();
- for (int j = 0; j < properties.Length; j++) {
- if (property.PropertyType.IsGenericType && property.PropertyType.GetGenericTypeDefinition() == typeof(List<>)) {
- property.SetValue(cloned, itemProperties.GetValue(j));
- ItemProperties.SetValue(cloned, properties[j].getValue())
- }
- }
- m_rows.Add(cloned);
- m_editor.ObjectsGrid.SelectedItem = cloned;
- m_editor.ObjectsGrid.ScrollIntoView(cloned);
- m_editor.ObjectsGrid.Focus();
- EditedObject editedObject = new EditedObject(cloned, ObjectState.Added);
- m_editedObjects.Push(editedObject);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement