社区
C#
帖子详情
求教如何获得一个实例的拷贝副本?
happyjun2000
2005-02-23 08:26:48
现有一个
htmltable tb ;
//init tb
--
//init tb
然后想得到tb的一个copy副本,
用htmltable tbcopy = tb ;好象是不可以的,但是tb没有提供copyto或者clone函数,只有htmltablecell提供了copyto(),
我应该怎样快速高效的得到tb的copy?
谢谢!
...全文
216
16
打赏
收藏
求教如何获得一个实例的拷贝副本?
现有一个 htmltable tb ; //init tb -- //init tb 然后想得到tb的一个copy副本, 用htmltable tbcopy = tb ;好象是不可以的,但是tb没有提供copyto或者clone函数,只有htmltablecell提供了copyto(), 我应该怎样快速高效的得到tb的copy? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happyjun2000
2005-02-23
打赏
举报
回复
xixigongzhu(夕夕宝贝)
您说的应该也是可行的,
但是tr = tbSource.Rows[i] ;
到底是做了什么呀,郁闷:<
xixigongzhu
2005-02-23
打赏
举报
回复
方法Clone如下:
private object Clone(object source )
{
MethodInfo mi = typeof(object).GetMethod("MemberwiseClone",BindingFlags.NonPublic|BindingFlags.Instance);
return mi.Invoke(tbSource,null);
}
然后再这样试试:
tr = (HtmlTableRow) Clone(tbSource.Rows[i]);
tb.Rows.Add ( tr ) ;
xixigongzhu
2005-02-23
打赏
举报
回复
tr = new HtmlTableRow( ) ;
tr = tbSource.Rows[i] ;
tb.Rows.Add ( tr ) ;
你把另一个表的行对象直接添加到了这个表,可能这样不行
happyjun2000
2005-02-23
打赏
举报
回复
为什么下面的循环在执行了一次以后,就报错误:tbSource.Rows[i]下标越界,好象执行tr = tbSource.Rows[i] ;后就把那个Rows丢失了,但
是我也拷贝过了啊,怎么还是会丢失,怎么回事?
大家指教!
//
for ( int i = 0 ; i < 3; i++ )
{
tb = new HtmlTable ( ) ; //table begin
tb.Width = "100%" ;
//body
tr = new HtmlTableRow ( ) ; //row begin
td = new HtmlTableCell ( ) ; //cell begin
td.Width = "100%" ;
HtmlTable tbBodyCopy = CloneHtmlTable ( tbBody ) ; //tbBody是个已经存在的表
HtmlTable tbBodyTemp = InitHtmlTable ( tbBodyCopy ) ;
td.Controls.Add ( tbBodyTemp ) ;
tr.Controls.Add ( td ) ; //cell end
tb.Controls.Add ( tr ) ; //row end
divContent.Controls.Add ( tb ) ; //table end
}
//
private HtmlTable InitHtmlTable ( HtmlTable tbSource )
{
HtmlTable tb ;
HtmlTableRow tr ;
tb = new HtmlTable( ) ;
for ( int i = 0; i < tbSource.rows.count; i++ )
{
tr = new HtmlTableRow( ) ;
tr = tbSource.Rows[i] ;
tb.Rows.Add ( tr ) ;
}
return tb ;
}
//
private HtmlTable CloneHtmlTable ( HtmlTable tbSource )
{
MethodInfo mi =
typeof(object).GetMethod("MemberwiseClone",BindingFlags.NonPublic|BindingFlags.Instance);
HtmlTable tbcopy = (HtmlTable)mi.Invoke(tbSource,null);
return tbcopy ;
}
happyjun2000
2005-02-23
打赏
举报
回复
MemberwiseClone创建当前 Object 的浅表副本。
如果要得到一个深层副本怎么做?
cdo
2005-02-23
打赏
举报
回复
学习
happyjun2000
2005-02-23
打赏
举报
回复
to xixigongzhu(夕夕宝贝)
方法是可行的,谢谢!
还有什么其他方法吗?
欢迎指教!
web_gus
2005-02-23
打赏
举报
回复
学习
bflovesnow
2005-02-23
打赏
举报
回复
mark
xixigongzhu
2005-02-23
打赏
举报
回复
MethodInfo mi = typeof(object).GetMethod("MemberwiseClone",BindingFlags.NonPublic|BindingFlags.Instance);
htmltable tbcopy = (htmltable)mi.Invoke(tb,null);
xixigongzhu
2005-02-23
打赏
举报
回复
有个比较笨的办法
yizhixiaozhu
2005-02-23
打赏
举报
回复
up
sutalon
2005-02-23
打赏
举报
回复
没有做过,帮你 顶
up
linuxyf
2005-02-23
打赏
举报
回复
建议一种方法,你先把tb序列化,然后定义另一个htmltable对象,再反序列化把结果赋给它。
xixigongzhu
2005-02-23
打赏
举报
回复
tbSource.Rows[i]只是简单的读取而已
是tb.Rows.Add ( tr )这个起作用
happyjun2000
2005-02-23
打赏
举报
回复
感谢夕夕宝贝(公主)
明天结贴!
数据处理救星降世Power Query
0/ Excel数据处理新利器来了,准备好了吗?1/ 比网红函数VLOOKUP还全面的功能。——查(查询)2/ 取其精华,去其糟粕。——筛(筛选)3/ 拆分就像同学会,拆散一对是一对。——拆(拆分)4/ 天下大势,合久必分,分久必合。——合(合并)5/ 隔空取物,犹如探囊取物——提(提取)6/ 百转千回后的峰回路转。——转(转换)7/ 它判断真假的唯一标准。——判(判断)8/ 人以群分,物以类聚。——聚(聚合)9/ 我自己的难题自己造函数,不
求教
别人。——技法(自定义函数)
2021 Java面试真题集锦
目录 … 1 大厂面试的基本流程 17 字节跳动 17 阿里 17 腾讯 18 网易游戏 18 面试前需要准备: 18 面试中可以借鉴的套路 19 用简历争取到更多的面试机会 19 自我介绍时,立即全面抛出技术栈和亮点 20 先介绍项目背景,打消面试官疑问 21 通过说项目管理工具,说明你不仅会写代码 22 用 SPRING BOOT 项目举例,说明你的技术基本面 23 用
实例
说明你在内存调优方面的经验 24 展示你在数据库调优方面的经验 25 总结前文说辞 26 准备项目说辞时,更可以准备后继面试官的问
程序员笔试知识点整理]
程序员笔试知识点整理 0、常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区别? E. 多态,举例说明;overload和override的区别? F. 字符串有关的函数,比如让你写
一个
拷贝
数据结构总结
0、常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区别? E. 多态,举例说明;overload和override的区别? F. 字符串有关的函数,比如让你写
一个
拷贝
字符串的函数啊,或...
[转]程序员笔试知识点整理
0、常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区别? E. 多态,举例说明;overload和override的区别? F. 字符串有关的函数,比如让你写
一个
拷贝
字符串的函数啊,或者字符...
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章