<?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/"
	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>Juhász Péter szakmai blogja</title>
	<atom:link href="http://bluecodeblog.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bluecodeblog.wordpress.com</link>
	<description>The more complex the better</description>
	<lastBuildDate>Sun, 06 Nov 2011 12:11:21 +0000</lastBuildDate>
	<language>hu</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='bluecodeblog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Juhász Péter szakmai blogja</title>
		<link>http://bluecodeblog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bluecodeblog.wordpress.com/osd.xml" title="Juhász Péter szakmai blogja" />
	<atom:link rel='hub' href='http://bluecodeblog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Object Browser for Windows Phone</title>
		<link>http://bluecodeblog.wordpress.com/2011/11/06/object-browser-for-windows-phone/</link>
		<comments>http://bluecodeblog.wordpress.com/2011/11/06/object-browser-for-windows-phone/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 12:11:16 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=143</guid>
		<description><![CDATA[Minden .NET fejlesztő számára egy &#8220;Must have&#8221; alkalmazás: Object Browser for Windows Phone. A Compact Framework BCL-jében lévő névtereket, típusokat és tagjaikat tudjátok vele böngészni a telefonotokon. http://www.windowsphone.com/hu-HU/apps/9b3212b4-aafc-42c8-8e7a-0e17753b9a2a<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=143&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Minden .NET fejlesztő számára egy &#8220;Must have&#8221; alkalmazás: <a title="Object Browser for Windows Phone" href="http://www.windowsphone.com/hu-HU/apps/9b3212b4-aafc-42c8-8e7a-0e17753b9a2a">Object Browser for Windows Phone</a>. A Compact Framework BCL-jében lévő névtereket, típusokat és tagjaikat tudjátok vele böngészni a telefonotokon.</p>
<p><a href="http://www.windowsphone.com/hu-HU/apps/9b3212b4-aafc-42c8-8e7a-0e17753b9a2a">http://www.windowsphone.com/hu-HU/apps/9b3212b4-aafc-42c8-8e7a-0e17753b9a2a</a></p>
<div style="float:left;">
<div id="attachment_144" class="wp-caption alignnone" style="width: 190px"><a href="http://bluecodeblog.files.wordpress.com/2011/11/ob_namespaces.png"><img class="size-medium wp-image-144" title="Namespaces" src="http://bluecodeblog.files.wordpress.com/2011/11/ob_namespaces.png?w=180&#038;h=300" alt="Object Browser - Namespaces" width="180" height="300" /></a><p class="wp-caption-text">Namespaces</p></div>
</div>
<div style="float:left;">
<div id="attachment_146" class="wp-caption alignnone" style="width: 190px"><a href="http://bluecodeblog.files.wordpress.com/2011/11/ob_classes.png"><img class="size-medium wp-image-146" title="Classes" src="http://bluecodeblog.files.wordpress.com/2011/11/ob_classes.png?w=180&#038;h=300" alt="Object Browser - Classes" width="180" height="300" /></a><p class="wp-caption-text">Classes</p></div>
</div>
<div style="float:left;"><div id="attachment_147" class="wp-caption alignnone" style="width: 190px"><a href="http://bluecodeblog.files.wordpress.com/2011/11/ob_method.png"><img class="size-medium wp-image-147" title="Member Info" src="http://bluecodeblog.files.wordpress.com/2011/11/ob_method.png?w=180&#038;h=300" alt="Object Browser - Member Info" width="180" height="300" /></a><p class="wp-caption-text">Member Info</p></div>
</div>
<div style="float:left;"><div id="attachment_145" class="wp-caption alignnone" style="width: 190px"><a href="http://bluecodeblog.files.wordpress.com/2011/11/ob_search.png"><img class="size-medium wp-image-145" title="Search" src="http://bluecodeblog.files.wordpress.com/2011/11/ob_search.png?w=180&#038;h=300" alt="Object Browser - Search" width="180" height="300" /></a><p class="wp-caption-text">Search</p></div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=143&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2011/11/06/object-browser-for-windows-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>

		<media:content url="http://bluecodeblog.files.wordpress.com/2011/11/ob_namespaces.png?w=180" medium="image">
			<media:title type="html">Namespaces</media:title>
		</media:content>

		<media:content url="http://bluecodeblog.files.wordpress.com/2011/11/ob_classes.png?w=180" medium="image">
			<media:title type="html">Classes</media:title>
		</media:content>

		<media:content url="http://bluecodeblog.files.wordpress.com/2011/11/ob_method.png?w=180" medium="image">
			<media:title type="html">Member Info</media:title>
		</media:content>

		<media:content url="http://bluecodeblog.files.wordpress.com/2011/11/ob_search.png?w=180" medium="image">
			<media:title type="html">Search</media:title>
		</media:content>
	</item>
		<item>
		<title>Ini Language Service for Visual Studio 2010</title>
		<link>http://bluecodeblog.wordpress.com/2011/04/03/ini-language-service-for-visual-studio-2010/</link>
		<comments>http://bluecodeblog.wordpress.com/2011/04/03/ini-language-service-for-visual-studio-2010/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 12:56:24 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Ini]]></category>
		<category><![CDATA[Language Service]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=137</guid>
		<description><![CDATA[Idén úgy döntöttem, hogy a saját kódszerkesztőm írása helyett inkább a Visual Studio SDK-val kezdek el foglalkozni. Kezdésképpen a hétvégén összeraktam egy egyszerű kis nyelvi szolgáltatást ini fájlok kezeléséhez. Így mostantól aki ini fájlokat szeretne szerkesztgetni Visual Studioban a megszokott Developer Experience-szel, az megteheti. Letöltés: http://visualstudiogallery.msdn.microsoft.com/0d9e83c9-4ab9-4091-8eed-11db852d5992<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=137&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Idén úgy döntöttem, hogy a saját kódszerkesztőm írása helyett inkább a Visual Studio SDK-val kezdek el foglalkozni. Kezdésképpen a hétvégén összeraktam egy egyszerű kis nyelvi szolgáltatást ini fájlok kezeléséhez. Így mostantól aki ini fájlokat szeretne szerkesztgetni Visual Studioban a megszokott <em>Developer Experience</em>-szel, az megteheti. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_138" class="wp-caption alignnone" style="width: 792px"><a href="http://bluecodeblog.files.wordpress.com/2011/04/inilanguage_20110331.png"><img class="size-full wp-image-138" title="Ini Language Service" src="http://bluecodeblog.files.wordpress.com/2011/04/inilanguage_20110331.png?w=901" alt="Ini Language Service for Visual Studio 2010"   /></a><p class="wp-caption-text">Ini Language Service for Visual Studio 2010</p></div>
<p><strong>Letöltés</strong>: <a href="http://visualstudiogallery.msdn.microsoft.com/0d9e83c9-4ab9-4091-8eed-11db852d5992">http://visualstudiogallery.msdn.microsoft.com/0d9e83c9-4ab9-4091-8eed-11db852d5992</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=137&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2011/04/03/ini-language-service-for-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>

		<media:content url="http://bluecodeblog.files.wordpress.com/2011/04/inilanguage_20110331.png" medium="image">
			<media:title type="html">Ini Language Service</media:title>
		</media:content>
	</item>
		<item>
		<title>Hyperoperations</title>
		<link>http://bluecodeblog.wordpress.com/2010/11/07/hyperoperations/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/11/07/hyperoperations/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 18:09:17 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Abstract mathematics]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[Group theory]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=128</guid>
		<description><![CDATA[Egy művelet mindenek felett&#8230; Picit átevezve az absztrakt matematika és csoport elmélet vizeire, most ne csak osztályokat származtassunk, hanem műveleteket is. Legyen a nulladik hiperművelet az értéknövelés egységgel. Ebből már eljuthatunk az összeadásig (valahány darab értéknövelés), a szorzásig (valahány darab összeadás), a hatványozásig (valahány darab szorzás), a tetrációig (valahány darab hatvány)&#8230; és még végtelen sokadfokú [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=128&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Egy művelet mindenek felett&#8230; Picit átevezve az absztrakt matematika és csoport elmélet vizeire, most ne csak osztályokat származtassunk, hanem műveleteket is. Legyen a nulladik hiperművelet az értéknövelés egységgel. Ebből már eljuthatunk az összeadásig (valahány darab értéknövelés), a szorzásig (valahány darab összeadás), a hatványozásig (valahány darab szorzás), a tetrációig (valahány darab hatvány)&#8230; és még végtelen sokadfokú művelethez (egyelőre ugyan csak a természetes számok körében).
<p>F# megvalósítás:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">let rec </span>hyper (left : int) (op : int) (right : int) : int =
    <span style="color:#0000FF;">match</span> (op, right) <span style="color:#0000FF;">with</span>
    | (0, _) -&gt; right + 1
    | (1, 0) -&gt; left
    | (2, 0) -&gt; 0
    | (3, 0) -&gt; 1
    | _ -&gt; hyper left (op - 1) (hyper left op (right - 1))</pre>
<p></p>
<p>Legyen <i>left</i> az első, <i>right</i> a második operandus, <i>op</i> pedig a művelet fokszáma (összeadás: 1, szorzás: 2, &#8230;).</p>
<p>Példa:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">let </span>additionExample = hyper 2 1 3 <span style="color:#008000;">// 5</span>
<span style="color:#0000FF;">let </span>multipliationExample = hyper 2 2 3 <span style="color:#008000;">// 6</span>
<span style="color:#0000FF;">let </span>exponentiationExample = hyper 2 4 3 <span style="color:#008000;">// 8</span>
<span style="color:#0000FF;">let </span>tetrationExample = hyper 2 4 3 <span style="color:#008000;">// 16</span></pre>
<p></p>
<p>Ez a rekurzív megvalósítás egy hatalmas, már nem elfogadható kompromisszum, de szép. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Teljesen absztrakt, viszont csak nagyon kis számokkal tud dolgozni, mert különben szembekerülünk egy hatalmas StackOverflowExceptionnel.</p>
<p>A C# implementációt <a href="http://cid-13cea924f158d4b3.office.live.com/self.aspx/NET%20Development/Code%20Library/Hyperoperators.cs" target="_blank">innen</a> töltheted le.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=128&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/11/07/hyperoperations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamic UI: Import and export data</title>
		<link>http://bluecodeblog.wordpress.com/2010/07/26/dynamic-ui-import-and-export-data/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/07/26/dynamic-ui-import-and-export-data/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:37:53 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Reflection]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=121</guid>
		<description><![CDATA[Fejtegessük tovább a témát, az önmagát generáló felhasználói felületet. Most az adatok exportálására fogunk fókuszálni. Ugyanazt az adatot több féle formátumban, több féle szabvány szerint is menthetjük és ahhoz, hogy ezt megvalósítsuk, különböző exportáló osztályokat kell megírnunk. A felhasználói felületen ezek az osztályok egy mentés ablakon keresztül kapnak szerepet. Ott kell kilistáznunk az elérhető formátumokat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=121&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fejtegessük tovább a témát, az önmagát generáló felhasználói felületet. Most az adatok exportálására fogunk fókuszálni. Ugyanazt az adatot több féle formátumban, több féle szabvány szerint is menthetjük és ahhoz, hogy ezt megvalósítsuk, különböző exportáló osztályokat kell megírnunk.</p>
<p>A felhasználói felületen ezek az osztályok egy mentés ablakon keresztül kapnak szerepet. Ott kell kilistáznunk az elérhető formátumokat és a felhasználó döntése szerint létrehozni a megfelelő osztályból egy példányt az adatok mentésére. Célunk ennek a teljes folyamatnak az automatizálása.</p>
<p>Kezdjük is az exportáló osztályokkal:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">abstract</span><span style="color:#000000;"> </span><span style="color:#0000FF;">class</span><span style="color:#2B91AF;"> ReportExporter </span>:<span style="color:#2B91AF;"> IDisposable</span> { }

</span><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">class</span><span style="color:#2B91AF;"> CsvReportExporter </span>: <span style="color:#2B91AF;">ReportExporter</span> { }

</span><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">class</span><span style="color:#2B91AF;"> XmlReportExporter</span> : <span style="color:#2B91AF;">ReportExporter</span> { }</span></pre>
<p></p>
<p>A legjobb megoldás a metaadatok tárolására az attribútumok használata. A miénk legyen a <i>ReportExporterDescriptionAttribute</i>. Két tulajdonságot kell tartalmaznia: <i>FormatDisplayName</i> és <i>FileExtension</i>. Alkalmazzuk ezt az attribútumot a meglévő osztályokra:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#000000;">[</span><span style="color:#2B91AF;">ReportExporterDescription</span>(FormatDisplayName </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Comma Separated Values</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, FileExtension </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">.csv</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)]
</span><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">class</span><span style="color:#2B91AF;"> CsvReportExporter</span> : <span style="color:#2B91AF;">ReportExporter</span>
{ }</span></pre>
<p></p>
<p>Mostantól megvannak a megfelelő osztályaink ellátva a szükséges metaadatokkal. A következő lépés, hogy életre keltsük a felhasználói felületet. A .NET Framework Reflection képességét fogjuk használni, hogy kinyerjük az adott assemblynkből az összes olyan osztályt, amely a <i>ReportExporter</i> osztályból származik.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">void</span><span style="color:#000000;"> ExportReport()
{
    </span><span style="color:#008000;">//</span><span style="color:#008000;"> Get exporters using reflection</span><span style="color:#008000;">
</span><span style="color:#2B91AF;">    Type</span>[] exporters </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">typeof</span><span style="color:#000000;">(</span><span style="color:#2B91AF;">ReportExporter</span>).Assembly.GetTypes().Where(
        t </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> t.IsSubclassOf(</span><span style="color:#0000FF;">typeof</span><span style="color:#000000;">(</span><span style="color:#2B91AF;">ReportExporter</span>))
    ).ToArray();

    </span><span style="color:#008000;">//</span><span style="color:#008000;"> Show save file dialog with the available filters</span><span style="color:#008000;">
</span><span style="color:#000000;">    </span><span style="color:#0000FF;">using</span><span style="color:#000000;"> (</span><span style="color:#2B91AF;">SaveFileDialog</span> sfd </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">new</span><span style="color:#2B91AF;"> SaveFileDialog</span>() {
        Filter </span><span style="color:#000000;">=</span><span style="color:#2B91AF;"> String</span>.Join(
            </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">|</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, exporters.Select(t </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> {
                </span><span style="color:#2B91AF;">ReportExporterDescriptionAttribute</span> attr </span><span style="color:#000000;">=</span><span style="color:#000000;">
                    (</span><span style="color:#2B91AF;">ReportExporterDescriptionAttribute</span>)t.GetCustomAttributes(
                        </span><span style="color:#0000FF;">typeof</span><span style="color:#000000;">(</span><span style="color:#2B91AF;">ReportExporterDescriptionAttribute</span>), </span><span style="color:#0000FF;">false</span><span style="color:#000000;">
                    ).First();
                </span><span style="color:#0000FF;">return</span><span style="color:#2B91AF;"> String</span>.Format(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">{0} (*{1})|*{1}</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, attr.FormatDisplayName, attr.FileExtension);
            }).ToArray()
        )
    })
    {
        </span><span style="color:#0000FF;">if</span><span style="color:#000000;"> (sfd.ShowDialog() </span><span style="color:#000000;">==</span><span style="color:#000000;"> System.Windows.Forms.</span><span style="color:#2B91AF;">DialogResult</span>.OK)
        {
            </span><span style="color:#008000;">//</span><span style="color:#008000;"> Create a ReportExporter instance and render the contents</span><span style="color:#008000;">
</span><span style="color:#000000;">            </span><span style="color:#0000FF;">using</span><span style="color:#000000;"> (</span><span style="color:#2B91AF;">ReportExporter</span> exporter </span><span style="color:#000000;">=</span><span style="color:#2B91AF;"> Activator</span>.CreateInstance(
                exporters[sfd.FilterIndex </span><span style="color:#000000;">-</span><span style="color:#000000;"> </span><span style="color:#800080;">1</span><span style="color:#000000;">], sfd.FileName
            ) </span><span style="color:#0000FF;">as</span><span style="color:#2B91AF;"> ReportExporter</span>)
                exporter.Render(</span><span style="color:#0000FF;">this</span><span style="color:#000000;">.Report);
        }
    }
}</span></pre>
<p></p>
<p>Így ha később változtatunk a kódon és kiegészítjük egy új formátum kezelésére képes osztállyal, amit ellátunk a megfelelő attribútumokkal, akkor sehol máshol nem kell módosítanunk, mert az imént megírt metódus tökéletesen idomulni fog a változásokhoz.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=121&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/07/26/dynamic-ui-import-and-export-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamic UI: Filtering</title>
		<link>http://bluecodeblog.wordpress.com/2010/07/22/dynamic-ui-filtering/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/07/22/dynamic-ui-filtering/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 09:36:50 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Extension method]]></category>
		<category><![CDATA[Generics]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=115</guid>
		<description><![CDATA[Egy magas minőségű üzleti alkalmazásnál a felhasználói felületnek is dinamikusnak, jól tesztelhetőnek kell lennie. Jelen esetben Windows Forms környezetet fogunk használni és most példaképpen egy tetszőleges lista szűrését szeretném bemutatni kivezetve a felhasználói felületre, amelyet automatikusan építünk fel. A lista szűrése Van egy kollekciónk, amiből készítünk egy nézetet. Ezt a nézetet szeretnénk megszűrni tekintet nélkül [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=115&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Egy magas minőségű üzleti alkalmazásnál a felhasználói felületnek is dinamikusnak, jól tesztelhetőnek kell lennie. Jelen esetben Windows Forms környezetet fogunk használni és most példaképpen egy tetszőleges lista szűrését szeretném bemutatni kivezetve a felhasználói felületre, amelyet automatikusan építünk fel.</p>
<p><b>A lista szűrése</b></p>
<p>Van egy kollekciónk, amiből készítünk egy nézetet. Ezt a nézetet szeretnénk megszűrni tekintet nélkül a típusra és a szűrendő tulajdonság nevére, típusára.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">void</span><span style="color:#000000;"> FilterView</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">T, TProperty</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(</span><span style="color:#2B91AF;">IList</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">T</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> view, </span><span style="color:#0000FF;">string</span><span style="color:#000000;"> propertyName, TProperty value)
{
    </span><span style="color:#0000FF;">foreach</span><span style="color:#000000;"> (T e </span><span style="color:#0000FF;">in</span><span style="color:#000000;"> view)
        </span><span style="color:#0000FF;">if</span><span style="color:#000000;"> (</span><span style="color:#0000FF;">typeof</span><span style="color:#000000;">(T).GetProperty(propertyName).GetValue(e, </span><span style="color:#0000FF;">null</span><span style="color:#000000;">).Equals(value))
            view.Remove(e);
}</span></pre>
</p>
<p><b>Menüelemek generálásának automatizálása</b></p>
<p>Tegyük fel, hogy egy olyan tulajdonságra szeretnénk szűrni, amelynek véges számú értéke lehet. Erre a legcélszerűbb típus az enum. A felhasználói felületen ezt egy ToolStrip-en szeretnénk megjeleníteni, minden egyes menünek megfeleltetve egy-egy értéket. A menüket be- illetve kipipálva szűrheti a listát a felhasználó. Az alábbi metódus ezt a feladatot teljes mértékben automatizálja. Legenerálja a menüket és egyúttal teljesen működőképessé teszi őket.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">static</span><span style="color:#000000;"> </span><span style="color:#0000FF;">void</span><span style="color:#000000;"> PopulateEnumFilterMenu</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">T, TProperty</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(
    </span><span style="color:#0000FF;">this</span><span style="color:#2B91AF;"> ToolStripMenuItem</span> menu,
    TProperty options, </span><span style="color:#0000FF;">string</span><span style="color:#000000;"> propertyName, </span><span style="color:#2B91AF;">IList</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">T</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> view, TProperty except </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">null</span><span style="color:#000000;">
) </span><span style="color:#0000FF;">where</span><span style="color:#000000;"> TProperty : </span><span style="color:#0000FF;">enum</span><span style="color:#000000;"> </span><span style="color:#008000;">//</span><span style="color:#008000;"> h&#225;tha a .net 5 majd elhozza ezt : )</span><span style="color:#008000;">
</span><span style="color:#000000;">{
    </span><span style="color:#0000FF;">foreach</span><span style="color:#000000;"> (TProperty p </span><span style="color:#0000FF;">in</span><span style="color:#2B91AF;"> Enum</span>.GetValues(</span><span style="color:#0000FF;">typeof</span><span style="color:#000000;">(TProperty)))
    {
        </span><span style="color:#0000FF;">if</span><span style="color:#000000;"> (p.Equals(except))
            </span><span style="color:#0000FF;">continue</span><span style="color:#000000;">;

        menu.DropDownItems.Add(
            </span><span style="color:#0000FF;">new</span><span style="color:#2B91AF;"> ToolStripMenuItem</span>(
                p.ToString(), </span><span style="color:#0000FF;">null</span><span style="color:#000000;">, (s, e) </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> {
                    </span><span style="color:#0000FF;">this</span><span style="color:#000000;">.FilterReport</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">T, TProperty</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(
                        view, propertyName, (TProperty)(s </span><span style="color:#0000FF;">as</span><span style="color:#2B91AF;"> ToolStripMenuItem</span>).Tag
                    );
                }
            ) { Tag </span><span style="color:#000000;">=</span><span style="color:#000000;"> p, Checked </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">true</span><span style="color:#000000;">, CheckOnClick </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">true</span><span style="color:#000000;"> }
        );
    }
}</span></pre>
<p>Az <i>except</i> paraméter egy kivételt enged meg, amely nem kerül kivezetésre a felületre. Ennek oka az, hogy az irányelvek szerint az enum-oknak tartalmazni kell egy None = 0 értéket is. Ez a paraméter ennek az átugrását hivatott kezelni, ha erre szükség van.</p>
<p>Ezáltal kaptunk egy dinamikus szűrési mechanizmust, amely független a szűrendő kollekcióban lévő elemek típusától, a szűrt tulajdonságtól, a kollekciót prezentáló vezérlőtől, ad egy szintén dinamikus felhasználói felületet a szűréshez és fel van készítve teljes mértékben a kód megváltoztatására, kibővítésére.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=115&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/07/22/dynamic-ui-filtering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>LINQ and Frequency Analysis</title>
		<link>http://bluecodeblog.wordpress.com/2010/02/06/linq-and-frequency-analysis/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/02/06/linq-and-frequency-analysis/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 12:00:26 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Generics]]></category>
		<category><![CDATA[Lambda]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=107</guid>
		<description><![CDATA[Mindenek előtt szükségünk lesz egy olyan metódusra, ami tud mindent, de mégsem csinál semmi konkrétat. A GroupAndSelect képes csoportosítani egy kollekció elemeit selector szerint, transzformálni a kapott csoportokat resultSelector szerint és visszaadni mindezt egy KeyValuePair kollekcióként. public static IEnumerable&#60;KeyValuePair&#60;TKey, TResult&#62;&#62; GroupAndSelect&#60;TSource, TKey, TResult&#62;( this IEnumerable&#60;TSource&#62; collection, Func&#60;TSource, TKey&#62; selector, Func&#60;IGrouping&#60;TKey, TSource&#62;, TResult&#62; resultSelector ) { [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=107&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mindenek előtt szükségünk lesz egy olyan metódusra, ami tud mindent, de mégsem csinál semmi konkrétat. A <i>GroupAndSelect</i> képes csoportosítani egy kollekció elemeit <i>selector</i> szerint, transzformálni a kapott csoportokat <i>resultSelector</i> szerint és visszaadni mindezt egy <i>KeyValuePair</i> kollekcióként.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">static</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#2B91AF;">KeyValuePair</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TKey, TResult</span><span style="color:#000000;">&gt;&gt;</span><span style="color:#000000;"> GroupAndSelect</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TKey, TResult</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(
    </span><span style="color:#0000FF;">this</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> collection,</span>
    <span style="color:#2B91AF;">Func</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TKey</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> selector,</span>
    <span style="color:#2B91AF;">Func</span><span style="color:#000000;">&lt;</span><span style="color:#2B91AF;">IGrouping</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TKey, TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">, TResult</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> resultSelector
)
{
    </span><span style="color:#0000FF;">return</span><span style="color:#000000;"> </span><span style="color:#0000FF;">from</span><span style="color:#000000;"> i </span><span style="color:#0000FF;">in</span><span style="color:#000000;"> collection
           </span><span style="color:#0000FF;">group</span><span style="color:#000000;"> i </span><span style="color:#0000FF;">by</span><span style="color:#000000;"> selector(i) </span><span style="color:#0000FF;">into</span><span style="color:#000000;"> g
           </span><span style="color:#0000FF;">select</span><span style="color:#000000;"> </span><span style="color:#0000FF;">new</span><span style="color:#2B91AF;"> KeyValuePair</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TKey, TResult</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(g.Key, resultSelector(g));
}</span></pre>
<p></p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">static</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#2B91AF;">KeyValuePair</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TResult</span><span style="color:#000000;">&gt;&gt;</span><span style="color:#000000;"> GroupAndSelect</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TResult</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(
    </span><span style="color:#0000FF;">this</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> collection,</span>
    <span style="color:#2B91AF;">Func</span><span style="color:#000000;">&lt;</span><span style="color:#2B91AF;">IGrouping</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">, TResult</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> resultSelector
)
{
    </span><span style="color:#0000FF;">return</span><span style="color:#000000;"> collection.GroupAndSelect(i </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> i, resultSelector);
}</span></pre>
<p></p>
<p>Most használjuk is ki ezt arra, hogy megkeressük melyik elem, pontosan hányszor fordul elő az adott kollekcióban. Csoportosítunk, majd kiválasztjuk a csoportokban szereplő elemek számát.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">static</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#2B91AF;">KeyValuePair</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TKey, </span><span style="color:#0000FF;">int</span><span style="color:#000000;">&gt;&gt;</span><span style="color:#000000;"> ItemFrequencies</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TKey</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(
    </span><span style="color:#0000FF;">this</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> collection, </span><span style="color:#2B91AF;">Func</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, TKey</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> selector
)
{
    </span><span style="color:#0000FF;">return</span><span style="color:#000000;"> collection.GroupAndSelect(selector, g </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> g.Count());
}</span></pre>
<p></p>
<p>Még egy egyszerűsített változat, hogy könnyen használható legyen:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">public</span><span style="color:#000000;"> </span><span style="color:#0000FF;">static</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#2B91AF;">KeyValuePair</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource, </span><span style="color:#0000FF;">int</span><span style="color:#000000;">&gt;&gt;</span><span style="color:#000000;"> ItemFrequencies</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;">(
    </span><span style="color:#0000FF;">this</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#000000;">TSource</span><span style="color:#000000;">&gt;</span><span style="color:#000000;"> collection
)
{
    </span><span style="color:#0000FF;">return</span><span style="color:#000000;"> collection.ItemFrequencies(i </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> i);
}</span></pre>
<p></p>
<p><b>Néhány példa:</b></p>
<p>Számok csoportosítása maradékosztályok szerint:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">new</span><span style="color:#000000;"> </span><span style="color:#0000FF;">int</span><span style="color:#000000;">[] { </span><span style="color:#000000;">2</span><span style="color:#000000;">, </span><span style="color:#000000;">4</span><span style="color:#000000;">, </span><span style="color:#000000;">3</span><span style="color:#000000;">, </span><span style="color:#000000;">8</span><span style="color:#000000;">, </span><span style="color:#000000;">12</span><span style="color:#000000;">, </span><span style="color:#000000;">9</span><span style="color:#000000;">, </span><span style="color:#000000;">5</span><span style="color:#000000;">, </span><span style="color:#000000;">7</span><span style="color:#000000;"> }.ItemFrequencies(i </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> i </span><span style="color:#000000;">%</span><span style="color:#000000;"> n);</span></pre>
<p></p>
<p>Frekvenciaelemzés kriptoanalízishez:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#800000;">&quot;</span><span style="color:#800000;">The quick brown fox</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">.Where(c </span><span style="color:#000000;">=&gt;</span><span style="color:#2B91AF;"> Char</span>.IsLetter(c)).ItemFrequencies()</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=107&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/02/06/linq-and-frequency-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>LINQ and Factorial</title>
		<link>http://bluecodeblog.wordpress.com/2010/02/02/linq-and-factorial/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/02/02/linq-and-factorial/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:41:04 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[egy sorból]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=99</guid>
		<description><![CDATA[A LINQ akkor is barátunk, ha faktoriálist szeretnénk számolni, mindössze egyetlen sorból. Egyszerűen csak legyártjuk a számokat, majd összefűzzük őket a szorzás művelettel. Func&#60;int, int&#62; Factorial = n =&#62; Enumerable.Range(1, n).Aggregate(1, (x, i) =&#62; x * i); Bónuszként egy F# implementáció rekurzív módon: let rec Factorial n = match n with &#124; 0I -&#62; 1I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=99&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A LINQ akkor is barátunk, ha faktoriálist szeretnénk számolni, mindössze egyetlen sorból. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Egyszerűen csak legyártjuk a számokat, majd összefűzzük őket a szorzás művelettel.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#2B91AF;">Func</span>&lt;<span style="color:#0000FF;">int</span>, <span style="color:#0000FF;">int</span>&gt; Factorial = n =&gt; <span style="color:#2B91AF;">Enumerable</span>.Range(1, n).Aggregate(1, (x, i) =&gt; x * i);</pre>
<p></p>
<p>Bónuszként egy F# implementáció rekurzív módon:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">let</span> <span style="color:#0000FF;">rec</span> Factorial n =
    <span style="color:#0000FF;">match</span> n <span style="color:#0000FF;">with</span>
    | 0I -&gt; 1I
    | _ -&gt; n * Factorial(n - 1I)</pre>
<p></p>
<p>Mindkét módszer 0-ra 1-et ad eredményül.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=99&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/02/02/linq-and-factorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>LINQ and Prime Numbers</title>
		<link>http://bluecodeblog.wordpress.com/2010/01/28/linq-and-prime-numbers/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/01/28/linq-and-prime-numbers/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 19:49:00 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[egy sorból]]></category>
		<category><![CDATA[Lambda]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=95</guid>
		<description><![CDATA[Mire képes a LINQ&#8230; Fibonacci után most itt vannak a prímszámok. Func&#60;int, int, IEnumerable&#60;int&#62;&#62; GetPrimes = (min, max) =&#62; from n in Enumerable.Range(min, max - min) where Enumerable.Range(2, n / 2).All(i =&#62; n % i != 0) select n ; Nyilván lehetne gyorsítani közel annyi féle módon, ahány prímszám van, de ezt természetesen nem a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=95&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mire képes a LINQ&#8230; <a href="http://bluecodeblog.wordpress.com/2009/05/13/lambda-expressions-and-fibonacci/">Fibonacci</a> után most itt vannak a prímszámok.</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#2B91AF;">Func</span><span style="color:#000000;">&lt;</span><span style="color:#0000FF;">int</span><span style="color:#000000;">, </span><span style="color:#0000FF;">int</span><span style="color:#000000;">,</span><span style="color:#2B91AF;"> IEnumerable</span><span style="color:#000000;">&lt;</span><span style="color:#0000FF;">int</span><span style="color:#000000;">&gt;&gt;</span><span style="color:#000000;"> GetPrimes </span><span style="color:#000000;">=</span><span style="color:#000000;"> (min, max) </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;">
    </span><span style="color:#0000FF;">from</span><span style="color:#000000;"> n </span><span style="color:#0000FF;">in</span> <span style="color:#2B91AF;">Enumerable</span>.Range(min, max </span><span style="color:#000000;">-</span><span style="color:#000000;"> min)
    </span><span style="color:#0000FF;">where</span> <span style="color:#2B91AF;">Enumerable</span>.Range(</span><span style="color:#000000;">2</span><span style="color:#000000;">, n </span><span style="color:#000000;">/</span><span style="color:#000000;"> </span><span style="color:#000000;">2</span><span style="color:#000000;">).All(i </span><span style="color:#000000;">=&gt;</span><span style="color:#000000;"> n </span><span style="color:#000000;">%</span><span style="color:#000000;"> i </span><span style="color:#000000;">!=</span><span style="color:#000000;"> </span><span style="color:#000000;">0</span><span style="color:#000000;">)
    </span><span style="color:#0000FF;">select</span><span style="color:#000000;"> n
;</span></pre>
<p></p>
<p>Nyilván lehetne gyorsítani közel annyi féle módon, ahány prímszám van, de ezt természetesen nem a teljesítménye miatt tettem közzé.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=95&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/01/28/linq-and-prime-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>Egy sorból: Számológép</title>
		<link>http://bluecodeblog.wordpress.com/2010/01/19/egy-sorbol-szamologep/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/01/19/egy-sorbol-szamologep/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 18:37:10 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[egy sorból]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=91</guid>
		<description><![CDATA[Gyerekkori találmányom, az (valóban) egy soros számológép, amely figyelembe veszi a műveletek sorrendjét, kezeli a tört számokat a függvényeket és sok más egyebet&#8230; Gondoltam megosztom: JavaScript nyelven: alert(&#34;Result: &#34; + eval(prompt(&#34;Expression:&#34;))); VBScript nyelven: MsgBox(&#34;Result: &#34; + Eval(InputBox(&#34;Expression:&#34;))); A VBS verzióban még a hatvány operátor is használható! A kód minőségétől, biztonságától, tervezettségétől stb stb&#8230; most az [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=91&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gyerekkori találmányom, az (valóban) egy soros számológép, amely figyelembe veszi a műveletek sorrendjét, kezeli a tört számokat a függvényeket és sok más egyebet&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Gondoltam megosztom:</p>
<p><strong>JavaScript</strong> nyelven:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;">alert(<span style="color:#800000;">&quot;Result: &quot;</span> + eval(prompt(<span style="color:#800000;">&quot;Expression:&quot;</span>)));</pre>
<p></p>
<p><strong>VBScript</strong> nyelven:</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;">MsgBox(<span style="color:#800000;">&quot;Result: &quot;</span> + Eval(InputBox(<span style="color:#800000;">&quot;Expression:&quot;</span>)));</pre>
<p>A VBS verzióban még a hatvány operátor is használható! <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style="font-size:8px;">A kód minőségétől, biztonságától, tervezettségétől stb stb&#8230; most az egyszer tekintsünk el. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=91&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/01/19/egy-sorbol-szamologep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
		<item>
		<title>Egy sorból: E-mail küldés</title>
		<link>http://bluecodeblog.wordpress.com/2010/01/17/egy-sorbol-e-mail-kuldes/</link>
		<comments>http://bluecodeblog.wordpress.com/2010/01/17/egy-sorbol-e-mail-kuldes/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 20:10:35 +0000</pubDate>
		<dc:creator>BlueCode</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[egy sorból]]></category>

		<guid isPermaLink="false">http://bluecodeblog.wordpress.com/?p=86</guid>
		<description><![CDATA[Az &#34;Egy sorból&#34; című induló rovatban hasonló kódokat fogtok találni, mint ez. A kérdés: mi mindent lehet kihozni egyetlen sornyi kódból&#8230; new SmtpClient(serverAddress, 465) { EnableSsl = true, UseDefaultCredentials = false, Credentials = new NetworkCredential(username, password) }.Send( new MailMessage( new MailAddress(toAddress, String.Format(&#34;{0} &#60;{1}&#62;&#34;, toName, toAddress)), new MailAddress(senderAddress, senderName) ) { Subject = subject, Body = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=86&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Az &quot;<a href="http://hu.wordpress.com/tag/egy-sorbol/">Egy sorból</a>&quot; című induló rovatban hasonló kódokat fogtok találni, mint ez. A kérdés: mi mindent lehet kihozni egyetlen sornyi kódból&#8230;</p>
<pre style="background-color:#FFFDEC;border:solid 1px #111111;font-family:Courier New;font-size:10pt;border-style:dashed;padding:4px;"><span style="color:#0000FF;">new</span><span style="color:#000000;"> </span><span style="color:#2B91AF;">SmtpClient</span>(serverAddress<span style="color:#000000;">, </span><span style="color:#000000;">465</span><span style="color:#000000;">) {
    EnableSsl </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">true</span><span style="color:#000000;">,
    UseDefaultCredentials </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">false</span><span style="color:#000000;">,
    Credentials </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">new</span><span style="color:#000000;"> </span><span style="color:#2B91AF;">NetworkCredential</span>(username<span style="color:#000000;">, </span>password<span style="color:#000000;">)
}.Send(
    </span><span style="color:#0000FF;">new</span><span style="color:#000000;"></span> <span style="color:#2B91AF;">MailMessage</span>(
        <span style="color:#0000FF;">new</span><span style="color:#000000;"></span> <span style="color:#2B91AF;">MailAddress</span>(toAddress<span style="color:#000000;">, String.Format(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">{0} &lt;{1}&gt;</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#000000;">toName, </span><span style="color:#000000;">toAddress)),
        </span><span style="color:#0000FF;">new</span><span style="color:#000000;"></span> <span style="color:#2B91AF;">MailAddress</span>(senderAddress<span style="color:#000000;">, </span>senderName<span style="color:#000000;">)
    ) {
        Subject </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span>subject,
        Body <span style="color:#000000;">=</span><span style="color:#000000;"> messageBody</span>,
        SubjectEncoding </span><span style="color:#000000;">=</span><span style="color:#000000;"> System.Text.</span><span style="color:#2B91AF;">Encoding</span>.UTF8,
        BodyEncoding </span><span style="color:#000000;">=</span><span style="color:#000000;"> System.Text.</span><span style="color:#2B91AF;">Encoding</span>.UTF8,
        IsBodyHtml </span><span style="color:#000000;">=</span><span style="color:#000000;"> </span><span style="color:#0000FF;">true</span><span style="color:#000000;">
    }
);</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bluecodeblog.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bluecodeblog.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bluecodeblog.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bluecodeblog.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bluecodeblog.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bluecodeblog.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bluecodeblog.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bluecodeblog.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bluecodeblog.wordpress.com&amp;blog=7580245&amp;post=86&amp;subd=bluecodeblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bluecodeblog.wordpress.com/2010/01/17/egy-sorbol-e-mail-kuldes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15f5aae81a01326f4df476c3bdf7d1c6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">BlueCode</media:title>
		</media:content>
	</item>
	</channel>
</rss>
