<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technologies .NET et conseils de développement &#187; Le langage C#</title>
	<atom:link href="https://blog.developpez.com/johangard/pcategory/developpement/le-langage-c/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/johangard</link>
	<description></description>
	<lastBuildDate>Sun, 31 Jul 2011 16:53:20 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Les membres partiels</title>
		<link>https://blog.developpez.com/johangard/p10166/developpement/le-langage-c/les_membres_partiels</link>
		<comments>https://blog.developpez.com/johangard/p10166/developpement/le-langage-c/les_membres_partiels#comments</comments>
		<pubDate>Sun, 31 Jul 2011 16:51:05 +0000</pubDate>
		<dc:creator><![CDATA[jgard]]></dc:creator>
				<category><![CDATA[Le langage C#]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Les membres partiels sont apparus très tôt avec le C# 2.0. Ils permettent de répartir le code d&#8217;une classe ou d&#8217;une méthode sur plusieurs fichiers. Les classes partielles sont très utiles lorsque l&#8217;on veut répartir les méthodes d&#8217;une classe entre plusieurs développeurs, tout en évitant les risques engendrés par un merge lors d&#8217;un multiple check-out. La classe est donc divisée en plusieurs fichiers, chaque développeur ayant le sien. Imaginons par exemple une classe de requête [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Les membres partiels sont apparus très tôt avec le C# 2.0. Ils permettent de répartir le code d&rsquo;une classe ou d&rsquo;une méthode sur plusieurs fichiers.
</p>
<p>Les classes partielles sont très utiles lorsque l&rsquo;on veut répartir les méthodes d&rsquo;une classe entre plusieurs développeurs, tout en évitant les risques engendrés par un merge lors d&rsquo;un multiple check-out. La classe est donc divisée en plusieurs fichiers, chaque développeur ayant le sien. Imaginons par exemple une classe de requête dans laquelle nous séparons les selects, les inserts, les updates et les deletes. Nous voilons donc avec quatre fichiers mais une seule classe. Les classes partielles peuvent également être utilisées pour étendre une classe créée par un générateur de code, plutôt que de devoir hériter de celle-ci. Mais comment déclarer une classe partielle ? Pour cela, rien de plus simple : il suffit d&rsquo;ajouter le mot clé <em>partial</em> dans la déclaration de la classe (Figure 1). Cette déclaration devra se retrouver dans chaque fichier qui fait partie de cette classe partielle.
</p>
<p><img src="http://johangard.files.wordpress.com/2011/07/073111_1545_lesmembresp1.jpg" alt="" />
	</p>
<p><span style="color:#4f81bd;font-size:9pt;"><strong>Figure 1<br />
</strong></span></p>
<p>Quant aux méthodes partielles, il est évident qu&rsquo;il n&rsquo;est pas envisageable de répartir leur implémentation à différents endroits. Une méthode partielle consiste à séparer sa déclaration de son implémentation, un peu comme quand on utilise une interface. L&rsquo;utilité se réduit donc en grande partie aux méthodes créées par les générateurs de code. Ceux-ci déclarent la méthode (Figure 2) et les développeurs se chargent de l&rsquo;implémenter (Figure 3).
</p>
<p><img src="http://johangard.files.wordpress.com/2011/07/073111_1545_lesmembresp2.jpg" alt="" />
	</p>
<p><span style="color:#4f81bd;font-size:9pt;"><strong>Figure 2<br />
</strong></span></p>
<p><img src="http://johangard.files.wordpress.com/2011/07/073111_1545_lesmembresp3.jpg" alt="" />
	</p>
<p><span style="color:#4f81bd;font-size:9pt;"><strong>Figure 3<br />
</strong></span></p>
<p>Contrairement aux classes, les méthodes statiques sont soumises à certaines contraintes :
</p>
<ul>
<li>Elles ne peuvent pas renvoyer de résultat
</li>
<li>Elles ne peuvent pas contenir de paramètre <em>out</em>
		</li>
<li>Elles doivent être privées</li>
</ul>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation d&#8217;un switch avec une action identique pour plusieurs valeurs</title>
		<link>https://blog.developpez.com/johangard/p9252/developpement/utilisation_d_un_switch_avec_une_action_</link>
		<comments>https://blog.developpez.com/johangard/p9252/developpement/utilisation_d_un_switch_avec_une_action_#comments</comments>
		<pubDate>Thu, 02 Sep 2010 08:48:46 +0000</pubDate>
		<dc:creator><![CDATA[jgard]]></dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Le langage C#]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Il arrive parfois que vous vouliez utiliser un switch dans lequel plusieurs valeurs vont effectuer les mêmes actions. Pour cela, il n&#8217;est pas nécessaire de répéter le code pour chaque valeur. Il suffit simplement d&#8217;utiliser la syntaxe suivante : switch (myValue) { &#160; &#160; case myFirstCaseValue: &#160; &#160; case mySecondCaseValue: &#160; &#160; &#160; &#160; Action(); &#160; &#160; &#160; &#160; break; &#160; &#160; case myThirdAction: &#160; &#160; &#160; &#160; OtherAction(); &#160; &#160; &#160; &#160; break; &#160; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il arrive parfois que vous vouliez utiliser un switch dans lequel plusieurs valeurs vont effectuer les mêmes actions. Pour cela, il n&rsquo;est pas nécessaire de répéter le code pour chaque valeur. Il suffit simplement d&rsquo;utiliser la syntaxe suivante :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">switch (myValue) <br />
{ <br />
&nbsp; &nbsp; case myFirstCaseValue: <br />
&nbsp; &nbsp; case mySecondCaseValue: <br />
&nbsp; &nbsp; &nbsp; &nbsp; Action(); <br />
&nbsp; &nbsp; &nbsp; &nbsp; break; <br />
&nbsp; &nbsp; case myThirdAction: <br />
&nbsp; &nbsp; &nbsp; &nbsp; OtherAction(); <br />
&nbsp; &nbsp; &nbsp; &nbsp; break; <br />
&nbsp; &nbsp; default: <br />
&nbsp; &nbsp; &nbsp; &nbsp; break; <br />
}</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
