【问题标题】:How to Create a new object by a existing object?如何通过现有对象创建新对象?
【发布时间】:2018-04-28 19:40:51
【问题描述】:

我的意思是,我想在现有对象的基础上创建一个新对象,这是我的代码,将像示例一样有用:

PictureBox Pic = new PíctureBox();
Pic.Image = Properties.Resources.Theme;
Pic Pic2 = new Pic();

【问题讨论】:

  • 简答NO。为什么你需要做这样的事情?
  • 创建/复制大量“图片”
  • 您可以使用ArrayList 并将它们全部初始化为您想要的。
  • 这称为克隆对象。 PictureBox 没有实现IClonable interface。并且还要考虑到这个功能是好是坏的做法有很多讨论见deep cloning vs shallow cloning
  • 如果你使用了一个集合,你可以使用类似Enumerable.Range(new PictureBox { Image = Properties.Resources.Theme }, 10).ToArray() 来获得 10 个重复项

标签: c# windows winforms object instance


【解决方案1】:

认为这就是你想要的:

PictureBox Pic = new PíctureBox();
Pic.Image = Properties.Resources.Theme;
PictureBox Pic2 = new PictureBox(Pic);

只需创建一个构造函数将所有属性传递给新实例。

【讨论】:

  • 虽然这可能适用于自定义类,但显然不是像PictureBox这样的内置类型的选项
猜你喜欢
  • 2017-10-24
  • 2014-04-27
  • 2020-11-18
  • 1970-01-01
  • 2015-09-24
  • 2021-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多