调用这个类的公共方法。
public static class ControlClone
{
public static T Clone<T>(this T controlToClone)
where T : Control
{
PropertyInfo[] controlProperties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
T instance = Activator.CreateInstance<T>();
foreach (PropertyInfo propInfo in controlProperties)
{
if (propInfo.CanWrite)
{
if (propInfo.Name != "WindowTarget" && propInfo.Name!="Name")
propInfo.SetValue(instance, propInfo.GetValue(controlToClone, null), null);
}
}
return instance;
}
}
本文介绍了一个用于克隆控件的公共方法实现。该方法通过反射获取控件的所有公共属性,并将这些属性复制到新创建的实例中,除了WindowTarget和Name属性。
759

被折叠的 条评论
为什么被折叠?



