<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Commentaires sur : Note pour plus tôt</title>
	<atom:link href="http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/feed/" rel="self" type="application/rss+xml" />
	<link>http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/</link>
	<description>Un blog de Eric Le Guéhennec</description>
	<lastBuildDate>Fri, 18 Sep 2009 06:55:51 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Par : eleguehennec</title>
		<link>http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-17</link>
		<dc:creator>eleguehennec</dc:creator>
		<pubDate>Wed, 21 Jun 2006 07:45:36 +0000</pubDate>
		<guid isPermaLink="false">http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-17</guid>
		<description>L&#039;idée c&#039;était d&#039;avoir un super type dont IEnumerable et DataSet héritent pour pouvoir itérer dessus écrire quelque chose comme :
void Enumerate(object myList)
{
    if (myList is IEnumerable)
        foreach (object o in myList) DoIt();
    else if (myList is DataSet)
        foreach (DataRow dr in ds.Tables[0].Rows) DoIt();
    else throw new Exception(&quot;Unmanaged type&quot;);
}</description>
		<content:encoded><![CDATA[<p>L&#8217;idée c&#8217;était d&#8217;avoir un super type dont IEnumerable et DataSet héritent pour pouvoir itérer dessus écrire quelque chose comme :<br />
void Enumerate(object myList)<br />
{<br />
    if (myList is IEnumerable)<br />
        foreach (object o in myList) DoIt();<br />
    else if (myList is DataSet)<br />
        foreach (DataRow dr in ds.Tables[0].Rows) DoIt();<br />
    else throw new Exception(&#8220;Unmanaged type&#8221;);<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Olivier</title>
		<link>http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-15</link>
		<dc:creator>Olivier</dc:creator>
		<pubDate>Tue, 20 Jun 2006 21:39:59 +0000</pubDate>
		<guid isPermaLink="false">http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-15</guid>
		<description>Je viens d&#039;essayer le code ci-dessus, et je ne vois pas son intérêt : je récupère un seul objet de type System.Data.DataViewManagerListItemTypeDescriptor

Pourquoi tout simplement ne pas boucler sur des lignes ?
foreach (DataRow dr in ds.Tables[0].Rows) { ...</description>
		<content:encoded><![CDATA[<p>Je viens d&#8217;essayer le code ci-dessus, et je ne vois pas son intérêt : je récupère un seul objet de type System.Data.DataViewManagerListItemTypeDescriptor</p>
<p>Pourquoi tout simplement ne pas boucler sur des lignes ?<br />
foreach (DataRow dr in ds.Tables[0].Rows) { &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Olivier</title>
		<link>http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-14</link>
		<dc:creator>Olivier</dc:creator>
		<pubDate>Tue, 20 Jun 2006 21:29:04 +0000</pubDate>
		<guid isPermaLink="false">http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-14</guid>
		<description>Eric, il y a plus simple :
Comme tu l&#039;as remarqué, DataSet implémente (explicitement) IListSource ; hors IListSource propose la méthode GetList qui te renvoie un IList, et IList implémente IEnumerable (et ICollection). Et voilà !
En fait, GetResolvedDataSource, fait un peu joujou avec les PropertyDescriptors pour retrouver le Data member (tu sais les trucs qui permettent de faire du binding entre collections et contrôles). Donc, si tu veux juste récupérer un IEnumerable, le plus simple c&#039;est ça :

foreach (object obj in ((IListSource)myDataset).GetList())
{
 ...
}</description>
		<content:encoded><![CDATA[<p>Eric, il y a plus simple :<br />
Comme tu l&#8217;as remarqué, DataSet implémente (explicitement) IListSource ; hors IListSource propose la méthode GetList qui te renvoie un IList, et IList implémente IEnumerable (et ICollection). Et voilà !<br />
En fait, GetResolvedDataSource, fait un peu joujou avec les PropertyDescriptors pour retrouver le Data member (tu sais les trucs qui permettent de faire du binding entre collections et contrôles). Donc, si tu veux juste récupérer un IEnumerable, le plus simple c&#8217;est ça :</p>
<p>foreach (object obj in ((IListSource)myDataset).GetList())<br />
{<br />
 &#8230;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : cgrand</title>
		<link>http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-9</link>
		<dc:creator>cgrand</dc:creator>
		<pubDate>Fri, 03 Feb 2006 18:56:23 +0000</pubDate>
		<guid isPermaLink="false">http://eleguehennec.wordpress.com/2006/02/02/note-pour-plus-tot/#comment-9</guid>
		<description>Tu verras : toi aussi, un jour, tu seras ton meilleur ami.</description>
		<content:encoded><![CDATA[<p>Tu verras : toi aussi, un jour, tu seras ton meilleur ami.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
