我有一个函数将一个对象作为Label返回,以便理解我们称之为" lblStatus"。
public Label statusUpdater(int x)
{
Label lblStatus = new Label();
if (x==1)
{
lblStatus.text = "I like Cheese!";
}
else
{
lblStatus.text = "And I don't care!";
}
return lblStatus;
}
label1 = myclass.statusUpdater(1);
这可能吗?
我真正需要的是将所有属性从Label
提供给另一个属性
不像this( label1
存在于设计器)
答案 0 :(得分:3)
您所描述的内容被称为" Deep Copy"。有几种方法可以实现这一点,涉及的技术魔法数量范围,但对于您的情况,我建议保持简单,只需使用帮助方法复制您关心的所有属性:
public static Label CopyLabel(Label label)
{
Label l = new Label();
l.Left = label.Left;
l.Top = label.Top;
l.Right = label.Right;
l.Bottom = label.Bottom;
l.Width = label.Width;
l.Height = label.Height;
l.Margin = label.Margin;
l.Text = label.Text;
// Add whatever other properties you deem important
return l;
}
并称之为:
Label newLabel = CopyLabel(label1);