Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 复制列表中的对象<;T>;_Visual Studio 2010_C# 4.0_Generic Collections - Fatal编程技术网

Visual studio 2010 复制列表中的对象<;T>;

Visual studio 2010 复制列表中的对象<;T>;,visual-studio-2010,c#-4.0,generic-collections,Visual Studio 2010,C# 4.0,Generic Collections,是时候问我第一个问题了!我想让大家知道,我对编程相当业余,我可能不完全理解我将要使用的术语 我正在制作一个程序,从Oracle查询中获取结果,并将其显示在DataGridView中进行操作。该数据将用于一个拼版软件,我需要能够“分割”和“连接”行,使重复 数据作为一个名为CheckOrderLine的通用集合从我的服务层传入,该集合包含20多个包含所有数据的对象 我正在寻找一种方法,从绑定源_bs获取当前的CheckOrderLine,并使用所有相同的值创建一个新的CheckOrderLine。

是时候问我第一个问题了!我想让大家知道,我对编程相当业余,我可能不完全理解我将要使用的术语

我正在制作一个程序,从Oracle查询中获取结果,并将其显示在DataGridView中进行操作。该数据将用于一个拼版软件,我需要能够“分割”和“连接”行,使重复

数据作为一个名为CheckOrderLine的通用集合从我的服务层传入,该集合包含20多个包含所有数据的对象

我正在寻找一种方法,从绑定源_bs获取当前的CheckOrderLine,并使用所有相同的值创建一个新的CheckOrderLine。我相信这就是所谓的深度复制

我已经了解到,我可以使用以下代码来实现我的目标,但我相信有更好的方法来实现这一目标:

    CheckOrderLine current = (CheckOrderLine)_bs.Current;
    CheckOrderLine cloned = new CheckOrderLine();

    cloned.OrderNumber = current.OrderNumber;
    cloned.Qty = current.Qty;
等等

所以我想我的问题是:有没有一种方法可以遍历CheckOrderLine并为新对象中的每个属性设置值?还有,我前进的方向是否有严重的问题?在我的CheckOrderLine类中,我在网上看到过一些关于使用iClonable的事情,但在这一点上,这超出了我的理解


编辑:的VS标记错误。我还修改了一些词汇。

祝贺你的第一个项目。你在正确的轨道上-从一个纯粹的“它工作吗”的角度来看,你现在做的方式没有问题-只是一个接一个地复制一个属性

专业开发人员通常(希望)努力以“优雅”的方式开发代码。在本例中,优雅可能意味着在CheckOrderLine类中包含克隆CheckOrderLine的逻辑(作为方法)。这样,如果您在应用程序中找到需要克隆这些东西的另一个地方,您可以调用同一个函数,对该函数的任何错误修复都将改进复制类的两个地方。您不需要实现iClonable接口就可以做到这一点——它基本上只是一种约定


您还可以使用一种称为反射的技术,以编程方式迭代属性并将它们复制到新对象,但这可能是您目前无法理解的。

谢谢您提供的信息。我公司的首席开发人员一直在进行积极的培训,以帮助我建立这个项目。他实现了正确的接口设计,使程序(大部分)遵循严格的编码准则。我将利用这一机会自己使用接口。