Class
ReflectionHelper

Provides utility methods for reflection-based operations including object cloning and field copying.

Definition

Namespace:Telerik.WinControls

Assembly:Telerik.WinControls.dll

Syntax:

cs-api-definition
public static class ReflectionHelper

Inheritance: objectReflectionHelper

Methods

Clone<T>(T)

Creates a new instance of the specified type and copies all compatible fields from the source object.

Declaration

cs-api-definition
public static T Clone<T>(T source) where T : class, new()

Parameters

source

T

The source object to clone.

Returns

T

A new instance of type T with field values copied from the source object.

Remarks

This method performs a shallow clone operation by:

  1. Creating a new instance using the parameterless constructor
  2. Copying all compatible fields using CopyFields<T>(T, T)
  3. Notifying the clone if it implements IRadCloneable

The cloned object shares references to the same objects as the source for reference-type fields. This is a shallow copy, not a deep clone of the object graph.

If the cloned object implements IRadCloneable, both OnFieldsCopied() and OnCloneComplete() methods are called to allow for custom initialization logic.

CopyFields<T>(T, T)

Copies all compatible fields from a source object to a target object using reflection.

Declaration

cs-api-definition
public static void CopyFields<T>(T target, T source) where T : class

Parameters

target

T

The destination object that will receive the copied field values.

source

T

The source object from which field values will be copied.

Remarks

This method performs a shallow copy of all instance fields (public and non-public) from the source to the target object, with the following exclusions:

  • Fields marked with the NonSerializedAttribute are skipped
  • Delegate-type fields are skipped to prevent event handler copying issues

Reference type fields are copied by reference, meaning both objects will share the same reference to complex objects. This is a shallow copy operation, not a deep clone.

If the target object implements IRadCloneable, the OnFieldsCopied() method is called after the field copying process completes, allowing for custom post-copy logic.

In this article
DefinitionMethodsClone<T>(T)CopyFields<T>(T, T)
Not finding the help you need?
Contact Support