2009年10月14日星期三

[PerlChina] PerlNET,如何访问DataRow的Item Member

这是一个名字方式访问方法.
要在PerlNET中,想用C#那样的写法(dr["name"])的话,开始以为,那么转换出来应该是$dr->["name"],语法上是没问 题,但是结果却是错的。

引用PDK上的一段文字描述:Due to the way Perl works internally, this only works if the indexer expects an int parameter. In all other cases, the indexer has to be invoked using method syntax. Usually, the name of the indexer property is Item, but some types use a different name (e.g. System.String and System.Text.StringBuilder use Chars).

开始的时候还是没搞懂这个意思。现在终于明白了。

对于Item属性,MSDN是这样有一句是这样的:In C#, this property is the indexer for the DataRow class.

到此,来龙去脉终于搞清楚了。
那么,解决方式就是:

代码要使用像C++那样的方式:$data->{Rows}->[1]->get_Item("name");

--  Perl乐事 -- http://www.perlersh.org 我的博客 -- http://www.perlersh.org/blog.html 

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: