<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Serhat TAŞ</title>
    <description>C# , ASP.NET , ADO.NET , Microsoft , SQL</description>
    <link>http://www.serhattas.net/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>tr-TR</language>
    <blogChannel:blogRoll>http://www.serhattas.net/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.blogengine.gen.tr/syndication.axd</blogChannel:blink>
    <dc:creator>Serhat Taş</dc:creator>
    <dc:title>Serhat TAŞ</dc:title>
    <feedburner:info uri="serhattas" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/serhat" /><feedburner:info uri="serhat" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Podcasting</media:category><itunes:explicit>yes</itunes:explicit><itunes:subtitle>C# , ASP.NET , ADO.NET , Microsoft , SQL</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Podcasting" /></itunes:category><item>
      <title>Kredi Kart Numarası Kontrolü</title>
      <description>&lt;p&gt;
Merhabalar herkese,
&lt;/p&gt;
&lt;p&gt;
Ge&amp;ccedil;en g&amp;uuml;n ihtiya&amp;ccedil; olduğundan kredi kart numarası kontrol&amp;uuml; yapan birşeyler lazım oldu , belki birilerinin işinede yarar..
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; CreditCardResponse&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TheWrongCardNumber,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TheCorrectCardNumber&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; CreditCard&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; getOneNumbers = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; getTwoNumbers = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; getTwoNumbersTemp = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; CreditCardResponse CreditCartIsValid(&lt;span class="kwrd"&gt;string&lt;/span&gt; cardNumber)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (((SingleNumberTotal(cardNumber.Trim().Replace(&amp;quot; &amp;quot;, &amp;quot;&amp;quot;)) + DoubleNumberTotal(cardNumber.Trim().Replace(&amp;quot; &amp;quot;, &amp;quot;&amp;quot;))) % 10) == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; CreditCardResponse.TheCorrectCardNumber;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; CreditCardResponse.TheWrongCardNumber;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; SingleNumberTotal(&lt;span class="kwrd"&gt;string&lt;/span&gt; no)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;int&lt;/span&gt; singleTotal = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; no.Length; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (i % 2 != 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; singleTotal += &lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(no[i].ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getOneNumbers.Add(&lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(no[i].ToString()));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; singleTotal;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; DoubleNumberTotal(&lt;span class="kwrd"&gt;string&lt;/span&gt; no)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; no.Length; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (i % 2 == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getTwoNumbers.Add(&lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(no[i].ToString()) * 2);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; s = 0; s &amp;lt; getTwoNumbers.Count; s++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getTwoNumbersTemp.Add(SingleNumberCount(getTwoNumbers[s]));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; getTwoNumbersTemp.Sum();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; SingleNumberCount(&lt;span class="kwrd"&gt;int&lt;/span&gt; count)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;string&lt;/span&gt; temp = count.ToString();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;int&lt;/span&gt; numberTemp = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (temp.Length &amp;gt; 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; temp.Length; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numberTemp += &lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(temp[i].ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numberTemp = count;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; numberTemp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreditCard card = &lt;span class="kwrd"&gt;new&lt;/span&gt; CreditCard();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreditCardResponse response = card.CreditCartIsValid(&amp;quot;1258183272509158&amp;quot;); 
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
Method&amp;#39;dan 2 değer d&amp;ouml;nmektedir. TheWrongCardNumber&amp;nbsp; ve TheCorrectCardNumber &amp;#39;dir. Corrcect ise doğru bir kart numarasıdır.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/KcwvsZ_UY_Q" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/KcwvsZ_UY_Q/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2010/06/26/Kredi-Kart-Numarasc4b1-Kontrolu.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=e87574cb-440a-468b-8727-9ded60e994c0</guid>
      <pubDate>Sat, 26 Jun 2010 10:11:00 +0300</pubDate>
      <category>C# &amp; .NET</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=e87574cb-440a-468b-8727-9ded60e994c0</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=e87574cb-440a-468b-8727-9ded60e994c0</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2010/06/26/Kredi-Kart-Numarasc4b1-Kontrolu.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=e87574cb-440a-468b-8727-9ded60e994c0</wfw:commentRss>
    <feedburner:origLink>http://www.serhattas.net/post.aspx?id=e87574cb-440a-468b-8727-9ded60e994c0</feedburner:origLink></item>
    <item>
      <title>Visual Studio Recent Projects Temizleme</title>
      <description>&lt;p&gt;
Merhabalar ,&lt;br /&gt;
D&amp;uuml;n bir arkadaşım Visual Studio&amp;#39;da ki son &amp;ccedil;alıştığımızı projelerin g&amp;ouml;r&amp;uuml;nt&amp;uuml;lendiği &amp;quot;Recent Projects&amp;quot; b&amp;ouml;l&amp;uuml;m&amp;uuml;nden projeleri nasıl sileriz diye uğraşıyordu.Bende demekki lazım oluyor diye d&amp;uuml;ş&amp;uuml;nerek ufak bir *.dll yazdım ve bu dll ile bu temizleme işlemini yapabilirsiniz.Visual Studo bu proje bilgilerini Registry&amp;#39;de saklamaktadır. Sakladığı adres &amp;quot;Software\Microsoft\VisualStudio\9.0\ProjectMRUList&amp;quot; veya &amp;quot;Software\Microsoft\VisualStudio\10.0\ProjectMRUList&amp;quot; diye ayrılmaktadır.Her versiyon farklı dizinlerde saklanır.Kod &amp;ccedil;alıştırmadan da Regedit &amp;uuml;zerinden belirtilen dizinlere gidip adresleri silebilirsiniz tabi ki :) 
&lt;/p&gt;
&lt;p&gt;
Kodlar aşağıdaki gibidir.
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; IdeVersion&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDE90,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDE10&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MicrosoftIdeRejectProjectsFile&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; IdeVersion versionSelect = IdeVersion.IDE90;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; MicrosoftIdeRejectProjectsFile(IdeVersion setVersion)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionSelect = setVersion;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Clear()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;bool&lt;/span&gt; status = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegistryKey key = Registry.CurrentUser.CreateSubKey(GetVersion(versionSelect));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] list = key.GetValueNames();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt; k &lt;span class="kwrd"&gt;in&lt;/span&gt; list)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (IsFileSolution(key.GetValue(k).ToString()))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key.DeleteValue(k);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;catch&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (list.Length == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; status;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsFileSolution(&lt;span class="kwrd"&gt;string&lt;/span&gt; filePath)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;bool&lt;/span&gt; status = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileInfo file = &lt;span class="kwrd"&gt;new&lt;/span&gt; FileInfo(filePath);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (file.Extension == &amp;quot;.sln&amp;quot; || file.Extension == &amp;quot;.csproj&amp;quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;catch&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (filePath.Contains(&amp;quot;vdproj&amp;quot;) || filePath.Contains(&amp;quot;.sln&amp;quot;) || filePath.Contains(&amp;quot;.csproj&amp;quot;))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; status;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; GetVersion(IdeVersion versionSelect)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;string&lt;/span&gt; version = @&amp;quot;Software\Microsoft\VisualStudio\&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;switch&lt;/span&gt; (versionSelect)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;case&lt;/span&gt; IdeVersion.IDE90:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version += &amp;quot;9.0&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;case&lt;/span&gt; IdeVersion.IDE10:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version += &amp;quot;10.0&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version += &amp;quot;\\ProjectMRUList&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; version;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
Aşağıda ki gibi Clear() metodunu &amp;ccedil;ağırarak bu temizleme işlemini ger&amp;ccedil;ekleştirebilirsiniz.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MicrosoftIdeRejectProjectsFile ide = &lt;span class="kwrd"&gt;new&lt;/span&gt; MicrosoftIdeRejectProjectsFile(MicrosoftIdeRejectProjectDelete.IdeVersion.IDE10);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt;(ide.Clear())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Proje listesi temizlendi&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Proje listesi temizlenemedi&amp;quot;); 
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
&amp;Ouml;rnek kodu aşağıdan indirebilirsiniz.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.serhattas.net/Dosyalar/MicrosoftIdeRejectProjectDelete.rar" target="_blank"&gt;İndir &lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
İyi &amp;Ccedil;alışmalar :) 
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/pn9EUR9DNJI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/pn9EUR9DNJI/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2010/06/15/Visual-Studio-Recent-Projects-Temizleme.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=a5caf2fa-b720-4538-8f78-8279dd13b25b</guid>
      <pubDate>Tue, 15 Jun 2010 11:18:00 +0300</pubDate>
      <category>C# &amp; .NET</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=a5caf2fa-b720-4538-8f78-8279dd13b25b</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=a5caf2fa-b720-4538-8f78-8279dd13b25b</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2010/06/15/Visual-Studio-Recent-Projects-Temizleme.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=a5caf2fa-b720-4538-8f78-8279dd13b25b</wfw:commentRss>
    <enclosure url="http://www.serhattas.net/Dosyalar/MicrosoftIdeRejectProjectDelete.rar" length="13206" type="application/octet-stream" /><media:content url="http://www.serhattas.net/Dosyalar/MicrosoftIdeRejectProjectDelete.rar" fileSize="13206" type="application/octet-stream" /><itunes:explicit>yes</itunes:explicit><itunes:subtitle> Merhabalar , D&amp;uuml;n bir arkadaşım Visual Studio&amp;#39;da ki son &amp;ccedil;alıştığımızı projelerin g&amp;ouml;r&amp;uuml;nt&amp;uuml;lendiği &amp;quot;Recent Projects&amp;quot; b&amp;ouml;l&amp;uuml;m&amp;uuml;nden projeleri nasıl sileriz diye uğraşıyordu.Bende demekki lazım oluyor diye d</itunes:subtitle><itunes:author>serhattas1989.nospam@nospam.gmail.com (Serhat)</itunes:author><itunes:summary> Merhabalar , D&amp;uuml;n bir arkadaşım Visual Studio&amp;#39;da ki son &amp;ccedil;alıştığımızı projelerin g&amp;ouml;r&amp;uuml;nt&amp;uuml;lendiği &amp;quot;Recent Projects&amp;quot; b&amp;ouml;l&amp;uuml;m&amp;uuml;nden projeleri nasıl sileriz diye uğraşıyordu.Bende demekki lazım oluyor diye d&amp;uuml;ş&amp;uuml;nerek ufak bir *.dll yazdım ve bu dll ile bu temizleme işlemini yapabilirsiniz.Visual Studo bu proje bilgilerini Registry&amp;#39;de saklamaktadır. Sakladığı adres &amp;quot;Software\Microsoft\VisualStudio\9.0\ProjectMRUList&amp;quot; veya &amp;quot;Software\Microsoft\VisualStudio\10.0\ProjectMRUList&amp;quot; diye ayrılmaktadır.Her versiyon farklı dizinlerde saklanır.Kod &amp;ccedil;alıştırmadan da Regedit &amp;uuml;zerinden belirtilen dizinlere gidip adresleri silebilirsiniz tabi ki :) Kodlar aşağıdaki gibidir. public enum IdeVersion &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDE90, &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDE10 &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; public class MicrosoftIdeRejectProjectsFile &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IdeVersion versionSelect = IdeVersion.IDE90; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MicrosoftIdeRejectProjectsFile(IdeVersion setVersion) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionSelect = setVersion; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public bool Clear() &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool status = false; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegistryKey key = Registry.CurrentUser.CreateSubKey(GetVersion(versionSelect)); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] list = key.GetValueNames(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string k in list) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (IsFileSolution(key.GetValue(k).ToString())) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key.DeleteValue(k); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = true; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = false; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (list.Length == 0) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = true; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return status; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private bool IsFileSolution(string filePath) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool status = false; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileInfo file = new FileInfo(filePath); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbs</itunes:summary><itunes:keywords>C# &amp; .NET</itunes:keywords><feedburner:origLink>http://www.serhattas.net/post.aspx?id=a5caf2fa-b720-4538-8f78-8279dd13b25b</feedburner:origLink></item>
    <item>
      <title>Attribute ile Connection İşlemleri</title>
      <description>&lt;p&gt;
Merhabalar herkese;&lt;br /&gt;
Bu yazımızda Attribute kavramının nimetlerinden yararlanarak projemizde ki farklı class&amp;#39;ların farklı veritabanları ile nasıl &amp;ccedil;alışacağına farklı bir bakış a&amp;ccedil;ısıyla bakacağız (=. Projemizde birden fazla sınıfın config dosyamızdan alacağı veritabanına erişeceğiz.Tek yapmamız gereken o sınıfın config dosyasında hangi bağlantıyı kullanacağını Attribute ile belirtmek olacaktır.
&lt;/p&gt;
&lt;p&gt;
&amp;Ouml;ncelikle kodlama tarafına ge&amp;ccedil;meden &amp;ouml;nce sınıf diagramına bakalım ki kafamızda bazı şeylerin canlanması daha kolay olsun.Diagramın g&amp;ouml;r&amp;uuml;n&amp;uuml;m&amp;uuml; aşağıdaki gibidir.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/makaleResim/mk_39_1.JPG" alt="" width="702" height="402" /&gt;
&lt;/p&gt;
&lt;p&gt;
-ConnectionAttribute sınıfımız bizim sınıflarımıza hangi veritabanına bağlanacağı bilgisini verirken kullanacak olduğumuz bir Attribute&amp;#39;dır.&lt;br /&gt;
-MyConnectionBase ve MySqlConnection sınıflarımız ise app.config dosyasında belirlemiş olduğumuz veritabanı connection bilgilerini okumamızı sağlayan classlarımızdır.MyConnectionBase sınıfının i&amp;ccedil;erisinde ki Start() metodu ile config dosyasından t&amp;uuml;m bağlantı bilgileri &amp;ccedil;ekilir ve belleğe bağlantısı a&amp;ccedil;ılmış bir şekilde MySqlConnection tipinden koleksiyon olarak saklanmaktadır.Yani MySqlConnection sınıfı aslında bağlantı indeksi,bağlantı adı , connection c&amp;uuml;mleciği gibi bilgileri saklamamızı sağlayan bir nesne tasarımıdır.Config&amp;#39;de ki t&amp;uuml;m connectionlar bu tipden saklanmaktadır ve MyConnectionBase i&amp;ccedil;erisinde ki GetConnection ise application domain i&amp;ccedil;erisinden parametre olarak almış olduğu tip adına adına ait olan Attribute&amp;#39;ları yakalarak Connection adına ait olan SqlConnection nesnesini geriye d&amp;ouml;nd&amp;uuml;rmektedir.&lt;br /&gt;
-MySqlConnectionBase sınıfımız ise yazacağımız entity nesnelerimizin base&amp;#39;i olmaktadır.Base&amp;#39;de SqlConnection tipinden bir property bulunmaktadır ve o an &amp;ccedil;alışmış olduğu nesneyi property&amp;#39;nin i&amp;ccedil;erisinde ki GetConnection metodu &amp;ccedil;alıştırılarak o tie ait olan SqlConnection bilgisi bellekten bize getirilmektedir.Bu durumda artık kendi entity nesnelerimiz i&amp;ccedil;erisinde tekrardan connection string belirlemeden direkt MySqlConnectionBase&amp;#39;de ki SqlConnection property&amp;#39;si ile veritabanı işlemleri i&amp;ccedil;in gerekli olan bağlantı bilgilerini bize getirmektedir.
&lt;br /&gt;
&lt;br /&gt;
App.config bilgileri ise aşağıdaki gibidir.&lt;br /&gt;
&lt;img src="/pics/makaleResim/mk_39_3.JPG" alt="" width="540" height="117" /&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Aşağıda ise programımız kodları bulunmaktadır.&lt;br /&gt;
--&amp;gt; ConnectionAttribute Sınıfı : App.Config&amp;#39;den bağlantı bilgilerini &amp;ccedil;ekebilmek i&amp;ccedil;in System.Configuration dll&amp;#39;ni ve namespace&amp;#39;ini eklemek zorundayız !&lt;br /&gt;
&lt;div class="code"&gt;
[code:c#]
&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Configuration;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="kwrd"&gt;namespace&lt;/span&gt; ConnectionTest&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [AttributeUsage(AttributeTargets.Class)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ConnectionAttribute : Attribute&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Connection { get; &lt;span class="kwrd"&gt;private&lt;/span&gt; set; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; Dictionary&amp;lt;&lt;span class="kwrd"&gt;object&lt;/span&gt;, SqlConnection&amp;gt; ConnList { get; set; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; ConnectionAttribute(&lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection = ConfigurationManager.ConnectionStrings[&lt;span class="kwrd"&gt;value&lt;/span&gt;].ConnectionString;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; ConnectionAttribute(&lt;span class="kwrd"&gt;int&lt;/span&gt; index)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection = ConfigurationManager.ConnectionStrings[ConfigurationManager.ConnectionStrings[0].Name == &amp;quot;LocalSqlServer&amp;quot; ? index + 1 : index].ConnectionString;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
--&amp;gt; MyConnectionBase Sınıfı : Entity tipimize ait olan Connection bilgilerini bize getirmek i&amp;ccedil;in kullanacak olduğumu sınıfımızdır. 
&lt;/p&gt;
&lt;div class="code"&gt;
[code:c#]
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyConnectionBase&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MySqlConnection&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; index;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; name;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; SqlConnection connection;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; SqlConnection Connection&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; connection;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (connection == &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection = &lt;span class="kwrd"&gt;value&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Index&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; index;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (index == &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; index = &lt;span class="kwrd"&gt;value&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Name&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; name;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (name == &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name = &lt;span class="kwrd"&gt;value&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; List&amp;lt;MySqlConnection&amp;gt; connList = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;MySqlConnection&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; MyConnectionBase()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Start()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = ConfigurationManager.ConnectionStrings[0].Name == &amp;quot;LocalSqlServer&amp;quot; ? 1 : 0; i &amp;lt; ConfigurationManager.ConnectionStrings.Count; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MySqlConnection conn = &lt;span class="kwrd"&gt;new&lt;/span&gt; MySqlConnection() { Index = i, Name = ConfigurationManager.ConnectionStrings[i].Name, Connection = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlConnection(ConfigurationManager.ConnectionStrings[i].ConnectionString) };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (conn.Connection.State != System.Data.ConnectionState.Open)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.Connection.Open();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connList.Add(conn);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; SqlConnection GetConnection(&lt;span class="kwrd"&gt;object&lt;/span&gt; obj)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;object&lt;/span&gt;[] tipler = obj.GetType().GetCustomAttributes(&lt;span class="kwrd"&gt;false&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; tipler.Length; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (tipler[i].ToString() == &amp;quot;ConnectionTest.ConnectionAttribute&amp;quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; j = 0; j &amp;lt; connList.Count; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnectionStringBuilder left = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlConnectionStringBuilder(connList[j].Connection.ConnectionString);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnectionStringBuilder right = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlConnectionStringBuilder(((ConnectionAttribute)tipler[i]).Connection);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (left.DataSource == right.DataSource &amp;amp;&amp;amp; left.InitialCatalog == right.InitialCatalog &amp;amp;&amp;amp; left.UserID == right.UserID)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; connList[j].Connection;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; connList[0].Connection;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/div&gt;&lt;p&gt;
--&amp;gt; Entity Sınıflarımız&amp;nbsp; : İstenin tipe uygun bir class yazdıktan sonra o tip i&amp;ccedil;inide veri i&amp;ccedil;in gerekli olan SqlConnection&amp;#39;u Connection adında ki Attribute ile belirliyoruz.Attribute&amp;#39;da vermiş olduğumuz değerler aslında config dosyasında connection string&amp;#39;leri saklayan bağlantı isimleridir ! 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;div class="code"&gt;
[code:c#]
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [Connection(&amp;quot;InvoiceSystem&amp;quot;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Fatura : MySqlConnectionBase&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; Fatura()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand cmd = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlCommand(&amp;quot;Select TOP 10 * From İşlemler&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Connection = SqlConnection;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlDataReader dr = cmd.ExecuteReader();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;while&lt;/span&gt; (dr.Read())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Fatura Bilgisi :&amp;quot; + dr[0].ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [Connection(&amp;quot;YazilimWorks&amp;quot;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Urun : MySqlConnectionBase&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; Urun()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand cmd = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlCommand(&amp;quot;Select TOP 10 * From Urun&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Connection = SqlConnection;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlDataReader dr = cmd.ExecuteReader();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;while&lt;/span&gt; (dr.Read())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;&amp;Uuml;r&amp;uuml;n Bilgisi :&amp;quot; + dr[0].ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
Programımızı aşağıda ki gibi sınıflarımızdan bir nesne yarattığımızda ctor&amp;#39;dan connection&amp;#39;u alarak Urun ve Fatura sınıflarımız farklı veritabanlarına bağlanarak verilerimizi &amp;ccedil;ekmektedir.&lt;br /&gt;
&lt;div class="code"&gt;
[code:c#]
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Urun u1 = &lt;span class="kwrd"&gt;new&lt;/span&gt; Urun();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fatura f1 = &lt;span class="kwrd"&gt;new&lt;/span&gt; Fatura();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Title = &amp;quot;www.serhattas.net&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
&lt;br /&gt;
Programımızın ekran g&amp;ouml;r&amp;uuml;nt&amp;uuml;s&amp;uuml; aşağıdaki gibidir.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/makaleResim/mk_39_2.JPG" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
Bu şekilde Attribute&amp;#39;ların programlarımız i&amp;ccedil;erisinde ne kadar etkili olduğunu g&amp;ouml;rm&amp;uuml;ş oluyoruz.
&lt;/p&gt;
&lt;p&gt;
Proje &amp;ouml;rneğini indirmek i&amp;ccedil;in &lt;a href="http://www.serhattas.net/Dosyalar/ConnectionTest.rar"&gt;tıklayınız. &lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Faydalı olması dileğiyle :)&lt;br /&gt;
İyi &amp;Ccedil;alışmalar&lt;br /&gt;
&lt;br /&gt;
Serhat TAŞ
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/uWDFQoseNjQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/uWDFQoseNjQ/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2010/03/13/Attribute-ile-Connection-Islemleri.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=5ff7bdb1-4b75-4d61-8c51-b175acf36623</guid>
      <pubDate>Sat, 13 Mar 2010 11:49:00 +0300</pubDate>
      <category>C# &amp; .NET</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=5ff7bdb1-4b75-4d61-8c51-b175acf36623</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=5ff7bdb1-4b75-4d61-8c51-b175acf36623</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2010/03/13/Attribute-ile-Connection-Islemleri.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=5ff7bdb1-4b75-4d61-8c51-b175acf36623</wfw:commentRss>
    <enclosure url="http://www.serhattas.net/Dosyalar/ConnectionTest.rar" length="33881" type="application/octet-stream" /><media:content url="http://www.serhattas.net/Dosyalar/ConnectionTest.rar" fileSize="33881" type="application/octet-stream" /><itunes:explicit>yes</itunes:explicit><itunes:subtitle> Merhabalar herkese; Bu yazımızda Attribute kavramının nimetlerinden yararlanarak projemizde ki farklı class&amp;#39;ların farklı veritabanları ile nasıl &amp;ccedil;alışacağına farklı bir bakış a&amp;ccedil;ısıyla bakacağız (=. Projemizde birden fazla sınıfın config</itunes:subtitle><itunes:author>serhattas1989.nospam@nospam.gmail.com (Serhat)</itunes:author><itunes:summary> Merhabalar herkese; Bu yazımızda Attribute kavramının nimetlerinden yararlanarak projemizde ki farklı class&amp;#39;ların farklı veritabanları ile nasıl &amp;ccedil;alışacağına farklı bir bakış a&amp;ccedil;ısıyla bakacağız (=. Projemizde birden fazla sınıfın config dosyamızdan alacağı veritabanına erişeceğiz.Tek yapmamız gereken o sınıfın config dosyasında hangi bağlantıyı kullanacağını Attribute ile belirtmek olacaktır. &amp;Ouml;ncelikle kodlama tarafına ge&amp;ccedil;meden &amp;ouml;nce sınıf diagramına bakalım ki kafamızda bazı şeylerin canlanması daha kolay olsun.Diagramın g&amp;ouml;r&amp;uuml;n&amp;uuml;m&amp;uuml; aşağıdaki gibidir. -ConnectionAttribute sınıfımız bizim sınıflarımıza hangi veritabanına bağlanacağı bilgisini verirken kullanacak olduğumuz bir Attribute&amp;#39;dır. -MyConnectionBase ve MySqlConnection sınıflarımız ise app.config dosyasında belirlemiş olduğumuz veritabanı connection bilgilerini okumamızı sağlayan classlarımızdır.MyConnectionBase sınıfının i&amp;ccedil;erisinde ki Start() metodu ile config dosyasından t&amp;uuml;m bağlantı bilgileri &amp;ccedil;ekilir ve belleğe bağlantısı a&amp;ccedil;ılmış bir şekilde MySqlConnection tipinden koleksiyon olarak saklanmaktadır.Yani MySqlConnection sınıfı aslında bağlantı indeksi,bağlantı adı , connection c&amp;uuml;mleciği gibi bilgileri saklamamızı sağlayan bir nesne tasarımıdır.Config&amp;#39;de ki t&amp;uuml;m connectionlar bu tipden saklanmaktadır ve MyConnectionBase i&amp;ccedil;erisinde ki GetConnection ise application domain i&amp;ccedil;erisinden parametre olarak almış olduğu tip adına adına ait olan Attribute&amp;#39;ları yakalarak Connection adına ait olan SqlConnection nesnesini geriye d&amp;ouml;nd&amp;uuml;rmektedir. -MySqlConnectionBase sınıfımız ise yazacağımız entity nesnelerimizin base&amp;#39;i olmaktadır.Base&amp;#39;de SqlConnection tipinden bir property bulunmaktadır ve o an &amp;ccedil;alışmış olduğu nesneyi property&amp;#39;nin i&amp;ccedil;erisinde ki GetConnection metodu &amp;ccedil;alıştırılarak o tie ait olan SqlConnection bilgisi bellekten bize getirilmektedir.Bu durumda artık kendi entity nesnelerimiz i&amp;ccedil;erisinde tekrardan connection string belirlemeden direkt MySqlConnectionBase&amp;#39;de ki SqlConnection property&amp;#39;si ile veritabanı işlemleri i&amp;ccedil;in gerekli olan bağlantı bilgilerini bize getirmektedir. App.config bilgileri ise aşağıdaki gibidir. &amp;nbsp; Aşağıda ise programımız kodları bulunmaktadır. --&amp;gt; ConnectionAttribute Sınıfı : App.Config&amp;#39;den bağlantı bilgilerini &amp;ccedil;ekebilmek i&amp;ccedil;in System.Configuration dll&amp;#39;ni ve namespace&amp;#39;ini eklemek zorundayız ! [code:c#] using System.Configuration; namespace ConnectionTest { &amp;nbsp;&amp;nbsp;&amp;nbsp; [AttributeUsage(AttributeTargets.Class)] &amp;nbsp;&amp;nbsp;&amp;nbsp; public class ConnectionAttribute : Attribute &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Connection { get; private set; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Dictionary&amp;lt;object, SqlConnection&amp;gt; ConnList { get; set; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ConnectionAttribute(string value) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection = ConfigurationManager.ConnectionStrings[value].ConnectionString; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ConnectionAttribute(int index) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection = ConfigurationManager.ConnectionStrings[ConfigurationManager.ConnectionStrings[0].Name == &amp;quot;LocalSqlServer&amp;quot; ? index + 1 : index].ConnectionString; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; } } --&amp;gt; MyConnectionBase Sınıfı : Entity tipimize ait olan Connection bilgilerini bize getirmek i&amp;ccedil;in kullanacak olduğumu sınıfımızdır. [code:c#] &amp;nbsp;&amp;nbsp;&amp;nbsp; public static class MyConnectionBase &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private class MySqlConnection &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nb</itunes:summary><itunes:keywords>C# &amp; .NET</itunes:keywords><feedburner:origLink>http://www.serhattas.net/post.aspx?id=5ff7bdb1-4b75-4d61-8c51-b175acf36623</feedburner:origLink></item>
    <item>
      <title>Enum ile String Değer Saklama</title>
      <description>&lt;p&gt;
Merhabalar herkese =) ...Uzun s&amp;uuml;redir fırsat bulup yazamıyordum ve artık yazmam gerektiğine inandım ve birşeyler karaladım =)..
&lt;/p&gt;
&lt;p&gt;
Bu yazımızda programlarımızda işlerimizi kolaylaytıran Enum yapısının g&amp;uuml;zel olan bir &amp;ouml;zelliğine değineceğiz ki buda aslında arka planda metinsel olarak değer saklamak olacaktır.Bildiğimiz gibi Enum&amp;#39;lar değer tipli &amp;uuml;yelerimizdir yani tanımlamış olduğumuz &amp;ouml;zellikleri sayısal olarak saklamaktadır.Fakat aşağıdaki &amp;ouml;rneğimize bakacak olursakda kendi custom bir Attribute yazarak yapmak istediğimiz işlemi ger&amp;ccedil;ekleştirmek i&amp;ccedil;in karşımıza &amp;ccedil;ıkacak olan&amp;nbsp; problemi ortadan kaldırmış oluyoruz.. &amp;Ouml;rneğimizin kodları aşağıda ki gibidir.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Reflection;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="kwrd"&gt;namespace&lt;/span&gt; EnumTest&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; MyEnum&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MyStringEnum(&amp;quot;Serhat&amp;quot;, &lt;span class="kwrd"&gt;true&lt;/span&gt;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ad,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MyStringEnum(&amp;quot;Taş&amp;quot;, &lt;span class="kwrd"&gt;true&lt;/span&gt;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Soyad&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyStringEnumAttribute : Attribute&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _myAtrribute;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; _visible;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; MyAttribute&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { &lt;span class="kwrd"&gt;return&lt;/span&gt; _myAtrribute; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _myAtrribute = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; Visible&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { &lt;span class="kwrd"&gt;return&lt;/span&gt; _visible; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _visible = &lt;span class="kwrd"&gt;value&lt;/span&gt;; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; MyStringEnumAttribute(&lt;span class="kwrd"&gt;string&lt;/span&gt; _myString, &lt;span class="kwrd"&gt;bool&lt;/span&gt; _visible)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;this&lt;/span&gt;.MyAttribute = _myString;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Visible = _visible;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MyStringEnumProcess&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; GetEnumStringValue(&lt;span class="kwrd"&gt;this&lt;/span&gt; MyEnum _mAt)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyStringEnumAttribute[] _myAttributes = _mAt.GetType().GetField(_mAt.ToString()).GetCustomAttributes(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(MyStringEnumAttribute), &lt;span class="kwrd"&gt;false&lt;/span&gt;).Cast&amp;lt;MyStringEnumAttribute&amp;gt;().Where(&lt;span class="kwrd"&gt;new&lt;/span&gt; Func&amp;lt;MyStringEnumAttribute, &lt;span class="kwrd"&gt;bool&lt;/span&gt;&amp;gt;(&lt;span class="kwrd"&gt;delegate&lt;/span&gt;(MyStringEnumAttribute _mEnum)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; _mEnum.Visible == &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })).ToArray();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; _myAttributes.Length &amp;gt; 0 ? _myAttributes[0].MyAttribute : &amp;quot;&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//string _gelenAd = MyEnum.Ad.GetEnumStringValue();&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//string _gelenSifre = MyEnum.Soyad.GetEnumStringValue();&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//Console.WriteLine(&amp;quot;Ad :&amp;quot; + _gelenAd);&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//Console.WriteLine(&amp;quot;Soyad :&amp;quot; + _gelenSifre);&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(MyEnum.Ad.GetEnumStringValue());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(MyEnum.Soyad.GetEnumStringValue());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
[/code]&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
Ve programımızı &amp;ccedil;alıştırdığımızda aşağıda ki Enum değerlerimizin arka planda saklamış olduğu metinsel değerlerini ekrana yazdırmış oluyoruz. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_38_1.JPG" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
Tanımlamış olduğumu Enum yapısının i&amp;ccedil;inde her bir değer metinsel değer ve birde g&amp;ouml;z&amp;uuml;k&amp;uuml;p g&amp;ouml;z&amp;uuml;kmeme durumunu saklamak i&amp;ccedil;in bool tipinden değer almaktadır.Eğer False verilirse bu enum değerine erişilemeyecektir.Enum yapısını aşağıda ki yaparsak;
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;enum&lt;/span&gt; MyEnum&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MyStringEnum(&amp;quot;Serhat&amp;quot;, &lt;span class="kwrd"&gt;true&lt;/span&gt;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ad,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MyStringEnum(&amp;quot;Taş&amp;quot;, &lt;span class="kwrd"&gt;false&lt;/span&gt;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Soyad&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
İkinci değere false verildiği i&amp;ccedil;in sadece ekrana &amp;quot;Serhat&amp;quot; değerini yazdıracaktır.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_38_2.JPG" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;Ccedil;ok fazla karşılaşılmayan ama aklımızda bulunması gereken bir &amp;ouml;zellik olduğunu d&amp;uuml;ş&amp;uuml;n&amp;uuml;yorum.&lt;br /&gt;
Projeyi indirmek i&amp;ccedil;in &lt;a href="http://www.serhattas.net/Dosyalar/EnumTest.rar" target="_blank"&gt;tıklayınız&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Faydalı olması dileğiyle.. İyi &amp;Ccedil;alışmalar =)
&lt;/p&gt;
&lt;p&gt;
Serhat Taş 
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/bstkagA466U" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/bstkagA466U/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2010/03/04/Enum-ile-String-Deger-Saklama.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=fec2c25b-6b4d-472e-88b7-0492d9530b06</guid>
      <pubDate>Thu, 04 Mar 2010 22:35:00 +0300</pubDate>
      <category>C# &amp; .NET</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=fec2c25b-6b4d-472e-88b7-0492d9530b06</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=fec2c25b-6b4d-472e-88b7-0492d9530b06</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2010/03/04/Enum-ile-String-Deger-Saklama.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=fec2c25b-6b4d-472e-88b7-0492d9530b06</wfw:commentRss>
    <enclosure url="http://www.serhattas.net/Dosyalar/EnumTest.rar" length="21876" type="application/octet-stream" /><media:content url="http://www.serhattas.net/Dosyalar/EnumTest.rar" fileSize="21876" type="application/octet-stream" /><itunes:explicit>yes</itunes:explicit><itunes:subtitle> Merhabalar herkese =) ...Uzun s&amp;uuml;redir fırsat bulup yazamıyordum ve artık yazmam gerektiğine inandım ve birşeyler karaladım =).. Bu yazımızda programlarımızda işlerimizi kolaylaytıran Enum yapısının g&amp;uuml;zel olan bir &amp;ouml;zelliğine değineceğiz ki </itunes:subtitle><itunes:author>serhattas1989.nospam@nospam.gmail.com (Serhat)</itunes:author><itunes:summary> Merhabalar herkese =) ...Uzun s&amp;uuml;redir fırsat bulup yazamıyordum ve artık yazmam gerektiğine inandım ve birşeyler karaladım =).. Bu yazımızda programlarımızda işlerimizi kolaylaytıran Enum yapısının g&amp;uuml;zel olan bir &amp;ouml;zelliğine değineceğiz ki buda aslında arka planda metinsel olarak değer saklamak olacaktır.Bildiğimiz gibi Enum&amp;#39;lar değer tipli &amp;uuml;yelerimizdir yani tanımlamış olduğumuz &amp;ouml;zellikleri sayısal olarak saklamaktadır.Fakat aşağıdaki &amp;ouml;rneğimize bakacak olursakda kendi custom bir Attribute yazarak yapmak istediğimiz işlemi ger&amp;ccedil;ekleştirmek i&amp;ccedil;in karşımıza &amp;ccedil;ıkacak olan&amp;nbsp; problemi ortadan kaldırmış oluyoruz.. &amp;Ouml;rneğimizin kodları aşağıda ki gibidir. [code:c#]&amp;nbsp; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace EnumTest { &amp;nbsp;&amp;nbsp;&amp;nbsp; public enum MyEnum &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MyStringEnum(&amp;quot;Serhat&amp;quot;, true)] &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ad, &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MyStringEnum(&amp;quot;Taş&amp;quot;, true)] &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Soyad &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; public class MyStringEnumAttribute : Attribute &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string _myAtrribute; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private bool _visible; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string MyAttribute &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _myAtrribute; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _myAtrribute = value; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public bool Visible &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _visible; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _visible = value; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MyStringEnumAttribute(string _myString, bool _visible) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.MyAttribute = _myString; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Visible = _visible; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; public static class MyStringEnumProcess &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static string GetEnumStringValue(this MyEnum _mAt) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyStringEnumAttribute[] _myAttributes = _mAt.GetType().GetField(_mAt.ToString()).GetCustomAttributes(typeof(MyStringEnumAttribute), false).Cast&amp;lt;MyStringEnumAttribute&amp;gt;().Where(new Func&amp;lt;MyStringEnumAttribute, bool&amp;gt;(delegate(MyStringEnumAttribute _mEnum) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _mEnum.Visible == true; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })).ToArray(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _myAttributes.Length &amp;gt; 0 ? _myAttributes[0].MyAttribute : &amp;quot;&amp;quot;; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;nbsp;&amp;nbsp;&amp;nbsp; class Program &amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //string _gelenAd = MyEnum.Ad.GetEnumStringValue(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nb</itunes:summary><itunes:keywords>C# &amp; .NET</itunes:keywords><feedburner:origLink>http://www.serhattas.net/post.aspx?id=fec2c25b-6b4d-472e-88b7-0492d9530b06</feedburner:origLink></item>
    <item>
      <title>ASP.NET ve XML Web Servisi ile Dinamik Meta Tag Ekleme</title>
      <description>&lt;p&gt;
Merhabalar herkese :) &lt;br /&gt;
Bu yazımızda XML Web Service yapısını kullanarak ASP.NET uygulamalarımızda nasıl dinamik bir şekilde Meta Tag ekleyebiliriz onu inceleyeceğiz. &amp;Ouml;ncelikle Meta Tag&amp;#39;lar bildiğimiz gibi web sayfalarımızın Head etiketleri arasında tanımlanan ve arama motorlarının sayfamızı indekslemek i&amp;ccedil;in kullanacağı bilgilerin bulunduğu b&amp;ouml;l&amp;uuml;md&amp;uuml;r.Tabi ki g&amp;uuml;n&amp;uuml;m&amp;uuml;zde ki artık arama motorları &amp;ccedil;ok akıllı olduğundan indeksleme algoritmaları meta tag&amp;#39;lara g&amp;ouml;re değil de sayfamızın i&amp;ccedil;erisinde ki i&amp;ccedil;eriğe g&amp;ouml;rede yapabildiğini bilmekte yarar var.Ama burdan &amp;ccedil;ıkaracağımız anlam kesinlikle Meta Tag&amp;#39;ların &amp;ouml;nemsiz olduğu olmamalıdır. Bir sitede meta tag&amp;#39;ların sabit olabileceğini ve ni&amp;ccedil;in dinamik olarak uğraştığımızı sorabilirsiniz.Bizim burada modelleyeceğimiz yapı tek web sitesine g&amp;ouml;re değilde , elimizde 10&amp;#39;larca web sitesinin olduğunu ve bunların meta tag y&amp;ouml;netiminin tek bir yerden yapabilmektedir.Bu işlemleri ger&amp;ccedil;ekleştirirken de web servisi teknolojisinden yararlanacağız.&amp;Ouml;ncelikle web sitelerimizin bilgilerini saklayacağımız veri tabanımızın yapısı aşağıdaki gibidir.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.cssvitrini.com/serhat_resim/veritabaniYapisi.jpg" alt="" width="618" height="268" /&gt;
&lt;/p&gt;
&lt;p&gt;
Veritabanımızın yapısınıda bakacak olursak t&amp;uuml;m metalarımızı,sitelerimizi ve metalarımızın alacağı değeleri farklı tablolara dağıtarak sistemimizin 100&amp;#39;lerce siteyide y&amp;ouml;netebilmesini sağlıyoruz.Tek tablodada birşeyler yapabilirdik ama site sayısı arttığında zorlukları ortaya &amp;ccedil;ıkacaktır.Bu y&amp;uuml;zden ilişkisel bir&amp;nbsp; olarak tasarlıyoruz herşeyi.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Tablolarımıza bakacak olursak , MetaUrl bizim &amp;uuml;zerinde &amp;ccedil;alışacağımız ve diğer tablolarla ilişkili olan en &amp;ouml;nemli tablomuzdur.MetaUrl&amp;#39;de kullanıcıya g&amp;ouml;sterecek olduğumuz meta bilgileri , SiteUrl tablosunda sistemde kullanacak olduğumuz sitelerimiz , MetaTip tablosunda belirteceğimiz metalarımız (keywords,author vb) ve son olarakda Meta tablomuz bulunmaktadır ki burada da&amp;nbsp; &amp;ouml;zellikleri yani name&amp;#39;leri tutulmaktadır.&amp;Ouml;rneneğimizde 2 site ve bunların meta bilgileri bulunmaktadır.PRogramlama tarafından veritabanımız &amp;uuml;zerinde işlem yapacağımızdan biz hangi sitenin meta tag&amp;#39;larını istiyorsak o site adresini aşağıdaki&amp;nbsp; Stored Procedure&amp;#39;mıza parametre ge&amp;ccedil;memiz yeterli olacaktır ve b&amp;ouml;ylece bize belirtilen sitenin tag&amp;#39;larını geriye d&amp;ouml;nd&amp;uuml;recektir. SP aşağıdaki gibidir ;
&lt;/p&gt;
&lt;br /&gt;
&lt;div class="code"&gt;
[code:tsql] 
&lt;p&gt;
&lt;span class="kwrd"&gt;CREATE&lt;/span&gt; &lt;span class="kwrd"&gt;PROC&lt;/span&gt; sp_MetaUrlDetay&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @siteAdres nvarchar(50)&lt;br /&gt;
)&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;span class="kwrd"&gt;AS&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;Select&lt;/span&gt; SiteURL.site,Meta.meta,MetaTip.metaTip,MetaUrl.deger &lt;span class="kwrd"&gt;From&lt;/span&gt; MetaUrl&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; INNER JOIN SiteURL &lt;span class="kwrd"&gt;ON&lt;/span&gt; MetaUrl.urlId = SiteURL.id&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; INNER JOIN MetaTip &lt;span class="kwrd"&gt;ON&lt;/span&gt; MetaUrl.metaTipId = MetaTip.id&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; INNER JOIN Meta &lt;span class="kwrd"&gt;ON&lt;/span&gt; MetaTip.meta = Meta.id&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;WHERE&lt;/span&gt; SiteURL.site=@siteAdres&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="kwrd"&gt;END&lt;/span&gt;
&lt;/p&gt;
&lt;br /&gt;
[/code]&lt;/div&gt; 
&lt;p&gt;
Exec sp_MetaUrlDetay &amp;#39;www.serhattas.net&amp;#39;
&lt;/p&gt;
&lt;p&gt;
Ve &amp;ccedil;alıştırdığımızda aşağıdaki gibi sadece www.serhattas.net&amp;#39;in meta taglarını getirmektedir.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.cssvitrini.com/serhat_resim/Sp_CalistiktanSonra.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;Veritabanında ki işlemleri bitirdiğimize g&amp;ouml;re artık Web Servisimizi tasarlamamız gerekmektedir.Servisin yapısı , &amp;ccedil;alıştırıldığında hangi sitenin bilgileri isteniyorsa o sitenin adını almalı ve geriye tag&amp;#39;larını d&amp;ouml;nd&amp;uuml;r&amp;uuml;p servisten gelen değerleri meta tag olarak eklememiz gerekmektedir.Xml Web Servisimizin yapısı aşağıdaki gibidir.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ComponentModel;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web.Services;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web.Services.Protocols;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Xml.Linq;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.SqlClient;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="kwrd"&gt;namespace&lt;/span&gt; DynamicMetaTagServices&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebService(Namespace = &amp;quot;http:&lt;span class="rem"&gt;//tempuri.org/&amp;quot;)]&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [ToolboxItem(&lt;span class="kwrd"&gt;false&lt;/span&gt;)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; SRTMetaTag : System.Web.Services.WebService&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; List&amp;lt;MetaYonetim&amp;gt; MetaTagGetir(&lt;span class="kwrd"&gt;object&lt;/span&gt; url)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;MetaYonetim&amp;gt; _metalar = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;MetaYonetim&amp;gt;();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection con = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlConnection(&amp;quot;data source=localhost; initial catalog=MetaIslemler; integrated security=&lt;span class="kwrd"&gt;true&lt;/span&gt;&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand cmd = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlCommand(&amp;quot;sp_MetaUrlDetay&amp;quot;, con);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&amp;quot;@siteAdres&amp;quot;, SqlDbType.NVarChar, 50).Value = url;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.CommandType = CommandType.StoredProcedure;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Open();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlDataReader dr = cmd.ExecuteReader();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;while&lt;/span&gt; (dr.Read())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MetaYonetim meta = &lt;span class="kwrd"&gt;new&lt;/span&gt; MetaYonetim { Isim = dr[0], Meta = dr[1], MetaTip = dr[2], Deger = dr[3] };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _metalar.Add(meta);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dr.Close(); cmd.Parameters.Clear(); con.Close();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; _metalar;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MetaYonetim&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; Isim { get; set; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; Meta { get; set; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; MetaTip { get; set; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; Deger { get; set; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
[/code]&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
Servisten geriye MetaYonetim tipinden bir custom tip d&amp;ouml;nmektedir.Bunlar bizim meta bilgilerimizdir.Property&amp;#39;lerin bilgileri ise;&lt;br /&gt;
Isim : Sitemizin adı adı&lt;br /&gt;
Meta : Meta adımızı .&amp;Ouml;rnek : name&lt;br /&gt;
MetaTip : Metamızın t&amp;uuml;r&amp;uuml;.&amp;Ouml;rnek : copyright, country,keywords&lt;br /&gt;
Deger : Metamızın content&amp;#39;i yanı taşıyacağı değerdir
&lt;/p&gt;
&lt;p&gt;
Artık bu servisten yararlanabilmek i&amp;ccedil;in Solution&amp;#39;a MetaTagWeb adında yeni bir web projesi ekledikten sonra Web Reference olarak da yazdığımız web servisini g&amp;ouml;steriyoruz ve g&amp;ouml;r&amp;uuml;n&amp;uuml;m aşağıdaki gibi olacaktır&amp;nbsp; bu işlemden sonra.&lt;br /&gt;
&lt;img src="/pics/makaleResim/36_3.jpg" alt="" width="326" height="338" /&gt;
&lt;/p&gt;
&lt;p&gt;
Web servisimizide eklediğimize g&amp;ouml;re artık Web sitemizi&amp;nbsp; tasarlayabiliriz.Ve sayfamız y&amp;uuml;klendiği anda da veritabanımıza gidip belirtmiş olduğumuz siteye ait olan meta tag&amp;#39;ları &amp;ccedil;ekip sitemize ekleyeceğiz.Aşağıda sayfamızın i&amp;ccedil;erisinde servisimizi &amp;ccedil;ağırmadan &amp;ouml;nceki html kodlarını g&amp;ouml;r&amp;uuml;yoruz.Ve baktığımızda herhangi bir meta tag eklenmemiş durumda.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="/pics/makaleResim/36_4.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
Web servisi eklemiş olduğumuz sayfamızın Page Load&amp;#39;ına servisimizden d&amp;ouml;nen meta tag&amp;#39;ları ekliyoruz artık aşağıdaki gibi. 
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Page_Load(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRTMetaService.SRTMetaTag srt = &lt;span class="kwrd"&gt;new&lt;/span&gt; SRTMetaService.SRTMetaTag();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRTMetaService.MetaYonetim[] gelenMetaTaglar = srt.MetaTagGetir(&amp;quot;www.serhattas.net&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (SRTMetaService.MetaYonetim meta &lt;span class="kwrd"&gt;in&lt;/span&gt; gelenMetaTaglar)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HtmlMeta metaHtml = &lt;span class="kwrd"&gt;new&lt;/span&gt; HtmlMeta();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; metaHtml.Attributes.Add(meta.Meta.ToString(), meta.MetaTip.ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; metaHtml.Attributes.Add(&amp;quot;content&amp;quot;, meta.Deger.ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.Header.Controls.Add(metaHtml);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/p&gt;
[/code]&lt;/div&gt;
&lt;p&gt;
G&amp;ouml;r&amp;uuml;ld&amp;uuml;ğ&amp;uuml; gibi servisimizden gelen&amp;nbsp; değerleri HtmlMeta tipinden yaratmış olduğumuz nesnemizin i&amp;ccedil;erisine ekliyor.Bu HtmlMeta tipinden değerimizi aslında bizim HTML tarafında ki meta tag&amp;#39;ımızı temsil etmektedi.Ve yarattığımız bu meta tag&amp;#39;ı Sayfamızın başlık kısmınada ekleyerek dinamik meta tag ekleme işlemini ger&amp;ccedil;ekleştirmiş oluyoruz.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/makaleResim/36_5.jpg" alt="" width="669" height="178" /&gt;
&lt;/p&gt;
&lt;p&gt;
Ve b&amp;ouml;ylecede elimizde bulunan birden fazla web sitesi i&amp;ccedil;in teker teker meta tag eklemek yerine ASP.NET projelerimizde bu işlemleri dinamik olarak ger&amp;ccedil;ekleştirebiliriz.
&lt;/p&gt;
&lt;p&gt;
&amp;Ouml;rnekte kullanılan projeyi ve veritabanını indirmek i&amp;ccedil;in &lt;a href="http://www.serhattas.net/Dosyalar/MetaTagWeb_37.rar" target="_blank"&gt;tıklayınız&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Faydalı olması dileğiyle... İyi &amp;ccedil;alışmalar =)
&lt;/p&gt;
&lt;p&gt;
Serhat TAŞ 
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/ZuObhMAKXWw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/ZuObhMAKXWw/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2010/01/12/ASPNET-ve-XML-Web-Servisi-ile-Dinamik-Meta-Tag-Ekleme.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=0a0e8c64-8cc0-47a6-a51e-847013d2fe6f</guid>
      <pubDate>Tue, 12 Jan 2010 14:59:00 +0300</pubDate>
      <category>ASP.NET</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=0a0e8c64-8cc0-47a6-a51e-847013d2fe6f</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=0a0e8c64-8cc0-47a6-a51e-847013d2fe6f</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2010/01/12/ASPNET-ve-XML-Web-Servisi-ile-Dinamik-Meta-Tag-Ekleme.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=0a0e8c64-8cc0-47a6-a51e-847013d2fe6f</wfw:commentRss>
    <enclosure url="http://www.serhattas.net/Dosyalar/MetaTagWeb_37.rar" length="1038464" type="application/octet-stream" /><media:content url="http://www.serhattas.net/Dosyalar/MetaTagWeb_37.rar" fileSize="1038464" type="application/octet-stream" /><itunes:explicit>yes</itunes:explicit><itunes:subtitle> Merhabalar herkese :) Bu yazımızda XML Web Service yapısını kullanarak ASP.NET uygulamalarımızda nasıl dinamik bir şekilde Meta Tag ekleyebiliriz onu inceleyeceğiz. &amp;Ouml;ncelikle Meta Tag&amp;#39;lar bildiğimiz gibi web sayfalarımızın Head etiketleri arasın</itunes:subtitle><itunes:author>serhattas1989.nospam@nospam.gmail.com (Serhat)</itunes:author><itunes:summary> Merhabalar herkese :) Bu yazımızda XML Web Service yapısını kullanarak ASP.NET uygulamalarımızda nasıl dinamik bir şekilde Meta Tag ekleyebiliriz onu inceleyeceğiz. &amp;Ouml;ncelikle Meta Tag&amp;#39;lar bildiğimiz gibi web sayfalarımızın Head etiketleri arasında tanımlanan ve arama motorlarının sayfamızı indekslemek i&amp;ccedil;in kullanacağı bilgilerin bulunduğu b&amp;ouml;l&amp;uuml;md&amp;uuml;r.Tabi ki g&amp;uuml;n&amp;uuml;m&amp;uuml;zde ki artık arama motorları &amp;ccedil;ok akıllı olduğundan indeksleme algoritmaları meta tag&amp;#39;lara g&amp;ouml;re değil de sayfamızın i&amp;ccedil;erisinde ki i&amp;ccedil;eriğe g&amp;ouml;rede yapabildiğini bilmekte yarar var.Ama burdan &amp;ccedil;ıkaracağımız anlam kesinlikle Meta Tag&amp;#39;ların &amp;ouml;nemsiz olduğu olmamalıdır. Bir sitede meta tag&amp;#39;ların sabit olabileceğini ve ni&amp;ccedil;in dinamik olarak uğraştığımızı sorabilirsiniz.Bizim burada modelleyeceğimiz yapı tek web sitesine g&amp;ouml;re değilde , elimizde 10&amp;#39;larca web sitesinin olduğunu ve bunların meta tag y&amp;ouml;netiminin tek bir yerden yapabilmektedir.Bu işlemleri ger&amp;ccedil;ekleştirirken de web servisi teknolojisinden yararlanacağız.&amp;Ouml;ncelikle web sitelerimizin bilgilerini saklayacağımız veri tabanımızın yapısı aşağıdaki gibidir. Veritabanımızın yapısınıda bakacak olursak t&amp;uuml;m metalarımızı,sitelerimizi ve metalarımızın alacağı değeleri farklı tablolara dağıtarak sistemimizin 100&amp;#39;lerce siteyide y&amp;ouml;netebilmesini sağlıyoruz.Tek tablodada birşeyler yapabilirdik ama site sayısı arttığında zorlukları ortaya &amp;ccedil;ıkacaktır.Bu y&amp;uuml;zden ilişkisel bir&amp;nbsp; olarak tasarlıyoruz herşeyi.&amp;nbsp; Tablolarımıza bakacak olursak , MetaUrl bizim &amp;uuml;zerinde &amp;ccedil;alışacağımız ve diğer tablolarla ilişkili olan en &amp;ouml;nemli tablomuzdur.MetaUrl&amp;#39;de kullanıcıya g&amp;ouml;sterecek olduğumuz meta bilgileri , SiteUrl tablosunda sistemde kullanacak olduğumuz sitelerimiz , MetaTip tablosunda belirteceğimiz metalarımız (keywords,author vb) ve son olarakda Meta tablomuz bulunmaktadır ki burada da&amp;nbsp; &amp;ouml;zellikleri yani name&amp;#39;leri tutulmaktadır.&amp;Ouml;rneneğimizde 2 site ve bunların meta bilgileri bulunmaktadır.PRogramlama tarafından veritabanımız &amp;uuml;zerinde işlem yapacağımızdan biz hangi sitenin meta tag&amp;#39;larını istiyorsak o site adresini aşağıdaki&amp;nbsp; Stored Procedure&amp;#39;mıza parametre ge&amp;ccedil;memiz yeterli olacaktır ve b&amp;ouml;ylece bize belirtilen sitenin tag&amp;#39;larını geriye d&amp;ouml;nd&amp;uuml;recektir. SP aşağıdaki gibidir ; [code:tsql] CREATE PROC sp_MetaUrlDetay ( &amp;nbsp;&amp;nbsp;&amp;nbsp; @siteAdres nvarchar(50) )&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; AS &amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select SiteURL.site,Meta.meta,MetaTip.metaTip,MetaUrl.deger From MetaUrl &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; INNER JOIN SiteURL ON MetaUrl.urlId = SiteURL.id &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; INNER JOIN MetaTip ON MetaUrl.metaTipId = MetaTip.id &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; INNER JOIN Meta ON MetaTip.meta = Meta.id &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE SiteURL.site=@siteAdres&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;END [/code] Exec sp_MetaUrlDetay &amp;#39;www.serhattas.net&amp;#39; Ve &amp;ccedil;alıştırdığımızda aşağıdaki gibi sadece www.serhattas.net&amp;#39;in meta taglarını getirmektedir. &amp;nbsp;Veritabanında ki işlemleri bitirdiğimize g&amp;ouml;re artık Web Servisimizi tasarlamamız gerekmektedir.Servisin yapısı , &amp;ccedil;alıştırıldığında hangi sitenin bilgileri isteniyorsa o sitenin adını almalı ve geriye tag&amp;#39;larını d&amp;ouml;nd&amp;uuml;r&amp;uuml;p servisten gelen değerleri meta tag olarak eklememiz gerekmektedir.Xml Web Servisimizin yapısı aşağıdaki gibidir. [code:c#]&amp;nbsp; using System; using System.Collections; using System.ComponentModel; using S</itunes:summary><itunes:keywords>ASP.NET</itunes:keywords><feedburner:origLink>http://www.serhattas.net/post.aspx?id=0a0e8c64-8cc0-47a6-a51e-847013d2fe6f</feedburner:origLink></item>
    <item>
      <title>C# 3.0 - Extension Methods (Genişletme Metotları)</title>
      <description>&lt;p&gt;
Merhabalar herkese;&lt;br /&gt;
Bu makalemizde kısaca C# 3.0 ile gelen LINQ,Anoymous Type,Lambda Expression,Partial Metotlar gibi bir&amp;ccedil;ok yenilikten biri olan Extension Methods yani Genişletme metotları hakkında birşeyler yapacağız.Extension metotlar ile Common Language Runtime (CLR) &amp;uuml;zerindeki tiplere (int,string vs) veya kendi yazmış olduğumuz tiplere yeni metotlar eklememizi sağlamaktadır.En basitinden bir &amp;ouml;rnek vermek gerekirse string tipinin i&amp;ccedil;inde bir metot olsa idi ve parametre olarak almış olduğu değeri int tipine return etse idi ne kadar g&amp;uuml;zel olurdu değil mi ? :). &lt;br /&gt;
Genişletme metotları sayesinde LINQ&amp;nbsp; mimarisi ile gelen bir&amp;ccedil;ok metotlardan bazıları olan Reverse,Select,Sum,Take gibi metotlar sayesinde koleksiyonlarımızı,dizilerimizi yani kısacası IEnumerable&amp;lt;T&amp;gt;&amp;#39;yi uygulayan heryerden kullanabiliyoruz.Ş&amp;ouml;yle incelemek gerekirse,
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#] &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;class&lt;/span&gt; Ogrenci&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; OgrenciAdSoyad { get; set; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Numumara { get; set; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; Ogrenci(&lt;span class="kwrd"&gt;string&lt;/span&gt; adSoyad, &lt;span class="kwrd"&gt;int&lt;/span&gt; numara)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OgrenciAdSoyad = adSoyad;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Numumara = numara;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ToString()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; OgrenciAdSoyad + &amp;quot;-&amp;quot; + Numumara;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Ogrenci&amp;gt; ogrenciler = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;Ogrenci&amp;gt;();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ogrenciler.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; Ogrenci(&amp;quot;Serhat Taş&amp;quot;, 114));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ogrenciler.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; Ogrenci(&amp;quot;Yiğit Taş&amp;quot;, 323));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
Yukarıda Ogrenci&amp;nbsp; diye bir tip tanımlanıp daha sonra tanımlanmış olan Ogrenci tipinden bir generic List&amp;lt;T&amp;gt; tanımlanıyor.Ve tanımlamış olduğumuz generic koleksiyon &amp;uuml;zerindeki &amp;uuml;yelere baktığımızda ise bir&amp;ccedil;ok extension metodun gelmiş olduğunu g&amp;ouml;r&amp;uuml;yorum.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_36_2.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
Peki nereden geldi bu kadar metot ? Baktığımızda bir koleksiyonda olmaması gereken metotlarmış gibi g&amp;ouml;z&amp;uuml;k&amp;uuml;yor olabilir.Burada g&amp;ouml;z&amp;uuml;ken metotlar aslında IEnumerable&amp;lt;T&amp;gt; &amp;uuml;zerinden gelen metotlardır.Yani a&amp;ccedil;ıkcası birer Extension(genişletme) metotlardır.B&amp;ouml;ylece buradan gelen metotların artık ogrenciler nesnesi &amp;uuml;zerinden gelmediğini anlayabiliriz.T&amp;uuml;m bunlar System.Linq.Enumerable isimli static bir classın &amp;uuml;yeleri olmaktadır.Bu sebepten dolayı Enumerable&amp;nbsp; sınıfının programımızda erişebildiği heryerde bu genişletme metotlarını kullanarak işlemler yapabiliriz.&lt;br /&gt;
Array classı&amp;#39;da Enumerable classına erişebildiğinden basit bir dizi tanımladığımızda bile dizimizin &amp;uuml;yesi olmayan genişletme metodu olarak adlandırılan static Enumerable classı i&amp;ccedil;erisinde tanımlanmış bir&amp;ccedil;ok metodu kullanabilir duruma gelebiliriz.&amp;Uuml;yelere baktığımızda genişletme metotları olduğunu anlayabiliyoruz.Zaten metot simgeleri farklı olduğu gibi a&amp;ccedil;ıklama olarak da bunun bir extension &amp;uuml;ye olduğunu s&amp;ouml;yl&amp;uuml;yor bizlere. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_3.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
Ve aslında da LINQ dediğimiz mimarinin bu System.Linq.Enumerable static classının i&amp;ccedil;erisinde tanımlanmış olan metotları kullanıyor olduğunu s&amp;ouml;yleyebiliriz :) .Eğer kendi Extension metotlarımızı yazacak isek uygulamamız gereken &amp;ouml;nemli kurallar bulunmaktadır.
&lt;/p&gt;
&lt;p&gt;
1-Genişletme metotlarımız mutlaka static bir Class i&amp;ccedil;erisinde olmalıdır&lt;br /&gt;
2-Classların i&amp;ccedil;erisindeki metotlarımız static olarak tanımlanmalıdır&lt;br /&gt;
3-Ve son olarakda yazdığımız static metotların ilk parametresi o metodun hangi tip &amp;uuml;zerinden &amp;ccedil;ağırıldığında gelmesini istiyor isek onu this anahtar kelimesi ile belirtmeliyiz.
&lt;/p&gt;
&lt;p&gt;
Basit olarak mantığını anlamak i&amp;ccedil;in bir &amp;ouml;rnek yapalım.Mesela bir metodumuz olsun string bir tip &amp;uuml;zerinden &amp;ccedil;ağırıldığında &amp;ccedil;ağırıldığı değerin t&amp;uuml;m harflerini b&amp;uuml;y&amp;uuml;k yapsın.ToUpper() bu işi g&amp;ouml;r&amp;uuml;yor fakat biz kendimiz yaparak yine bu metodu kullanalım ama yazdığımız metot kendi extension metodumuz olsun.Bakalım nasıl oluyormuş :)
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#] &lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="kwrd"&gt;namespace&lt;/span&gt; GenisletmeMetotlari&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;string&lt;/span&gt; isim = &amp;quot;serhat&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(isim.MetiniBuyut());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//Extension metodumun bulunduğu static classım.&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ExtensionMetotlar&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//string bir tip &amp;uuml;zerinden artık bu metodumuz &amp;ccedil;ağırılarak hangi değer &amp;uuml;zerinde ise onu b&amp;uuml;y&amp;uuml;k harfe &amp;ccedil;evirecektir&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; MetiniBuyut(&lt;span class="kwrd"&gt;this&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; s)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; s.ToUpper();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
} &lt;br /&gt;
[/code]&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
Yukarıdaki &amp;ouml;rneğe bakacak olursak kurallarda denildiği gibi eğer bir static metot yazılacak ise &amp;ouml;ncelikli olarak static bir class tanımlanmalıdır.Ve&amp;nbsp; biz ExtensionMetotlar adında tanımladık.Daha sonra amacımız string bir tip &amp;uuml;zerinden&amp;nbsp; kendi yazdığımız bir metodu &amp;ccedil;alıştırmak i&amp;ccedil;in ise yine static olarak tanımladık fakat bu sefer ilk parametresini this anahtar kelimesi ile harici olarak &amp;ccedil;alıştırmak istediğimiz tipin adını yazdık.Biz bu metodumuzda metinsel bir işlem yapacağımızdan this string dediğimizde artık bu metodumuzu kullanabiliyor olacağız.Extension metotlara giriş yaptığımızda nasıl Enumerable classı i&amp;ccedil;erisinde tanımlanmış olan genişletme metotlarına ulaşıyor isek bizimde programımızın i&amp;ccedil;erisinde ulaştığımızı g&amp;ouml;r&amp;uuml;yoruz.Intelisense bize destek vermektedir bu konuda ve listelenen bir metodun hangisinin ger&amp;ccedil;ek tipin hangisi daha sonradan bu tipe genişletilerek eklendiğini belli etmektedir.&lt;br /&gt;
&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_36_4.jpg" alt="" /&gt;&lt;br /&gt;
&amp;Ccedil;alıştırdığımızda da istediğimiz sonucu elde etmiş oluyoruz.Bakın string tipine b&amp;ouml;ylece en basitinden bir metot ekledik :)&lt;br /&gt;
&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_36_5.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
Ve diğer &amp;ouml;nemli bir konu.Bizler kendi yazmış olduğumuz Extension metotlara Overloading&amp;nbsp; yani aşırı y&amp;uuml;klenmiş&amp;nbsp; hale getirebiliyoruz.Extension metotların bulunduğu classın g&amp;ouml;r&amp;uuml;n&amp;uuml;m&amp;uuml; aşağıdaki gibidir.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//Extension metodumun bulunduğu static classım.&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ExtensionMetotlar&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//string bir tip &amp;uuml;zerinden artık bu metodumuz &amp;ccedil;ağırılarak hangi değer &amp;uuml;zerinde ise onu b&amp;uuml;y&amp;uuml;k harfe &amp;ccedil;evirecektir&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; MetiniBuyut(&lt;span class="kwrd"&gt;this&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; s)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; s.ToUpper();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//tek parametreli int extension metot&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; SayiIslem(&lt;span class="kwrd"&gt;this&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; s)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; s * 2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//iki parametreli int extension metot&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; SayiIslem(&lt;span class="kwrd"&gt;this&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; s, &lt;span class="kwrd"&gt;int&lt;/span&gt; s1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; s * s1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Metotları aşırı y&amp;uuml;kledikten sonra Main&amp;#39;e gittiğimizde aşırı y&amp;uuml;klenme işinin başarılı bir şekilde &amp;ccedil;alıştığını g&amp;ouml;r&amp;uuml;yoruz.Tanımlarken parametre sayıları ve tipleri &amp;ouml;nemlidir.Bunlarada bildiğimiz gibi metot imzası (Method Signature) denilmektedir.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_7.jpg" alt="" /&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Ve diğer g&amp;uuml;zel bir &amp;ouml;zelliktende bahsedelim kısaca :) .Farzedelimki 10 tane tipiniz var (class ) hepsi bir interface&amp;#39;i aray&amp;uuml;z uygulamış.Ve siz t&amp;uuml;m bu 10 class&amp;#39;dan oluşacak nesnelerede ayı ayrı birer metot yazmak yerine tek bir metotla işleminizi yapmak istiyorsunuz.Nasıl olabilir ? .T&amp;uuml;m bu 10 sınıfında uygulamış olduğu interface&amp;#39;e genişletme metodu eklesek nasıl olurdu ki acaba ? . Bence &amp;ccedil;ok g&amp;uuml;zel olurdu :) .Aşağıdaki gibi iki tane class ve bir tanede bu class&amp;#39;ların uygulamış olduğu interface&amp;#39;in olduğunu varsayıyoruz.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;interface&lt;/span&gt; OrnekArayuz&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;void&lt;/span&gt; InterfaceMetot();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;class&lt;/span&gt; Sinif1 : OrnekArayuz&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; InterfaceMetot()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Sinif1 isimli metot&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;class&lt;/span&gt; Sinif2 : OrnekArayuz&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; InterfaceMetot()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Sınıf2 isimli metot&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Ve şimdi Main metodumuza gidelim bakalım nesnelerimiz ne alemde.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_8.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
G&amp;ouml;r&amp;uuml;ld&amp;uuml;ğ&amp;uuml; gibi iki class&amp;#39;ın ortak uyguladığı bir aray&amp;uuml;zdeki metodu kullanarak nesnemiz &amp;uuml;zerinden interface&amp;#39;deki metot yapısına erişebiliyoruz.&amp;Ccedil;alıştırdığımızda aşağıdaki g&amp;ouml;r&amp;uuml;nt&amp;uuml; oluşacaktır tahmin ettiğiniz gibi.&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_36_9.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
Bu sonu&amp;ccedil; zaten beklenen birşeydi.Peki &amp;ouml;rneğimizi kurkularken bu class&amp;#39;ların 1-2 tane değilde 10 tane olduğunu ve bu t&amp;uuml;m class&amp;#39;larımıza Extension &amp;ouml;zelliğini kullanarak yeni bir metot eklemekti amacımız.Eğer bir Extension Metodu Interface&amp;#39;e uygular iseniz o interface&amp;#39;den t&amp;uuml;reyen t&amp;uuml;m tiplerimizden extension metoda erişebiliriz arkadaşlar.Biz burada kendi yazmış olduğumuz bir aray&amp;uuml;ze extension metot ekleyeceğiz.NET Framework&amp;#39;in i&amp;ccedil;erisinde tanımlanmış olan interface&amp;#39;lere de genişletme metotlarını ekliyerek olduk&amp;ccedil;a kolay kodlanabilen uygulamalar yazabiliriz.Bu işlemi yapabilmek i&amp;ccedil;in yukarıdaki Extension metot tanımlama kurallarını hatırlayalım.Metodumuz static olmalı,ilk parametresi uygulayacağımız tipin adını vermeliyiz ve bu metot bir static class i&amp;ccedil;ersinde olmalı idi.Peki yukarıdaki class&amp;#39;ların yanına aşağıdaki class&amp;#39;ımızda ekleyelim.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; InterfaceExtensionEkle&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ExtensionMetot(&lt;span class="kwrd"&gt;this&lt;/span&gt; OrnekArayuz o)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;OrnekAray&amp;uuml;z isimli &lt;span class="kwrd"&gt;interface&lt;/span&gt;&amp;#39;e eklenen extension metot&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Burada Extension metodumuzun ilk parametresine bakacak olursak demiştik ki bu metodu eklemek istediğimiz tipin adını yazarız.Bizde buraya bir interface tip adını verdiğimizden dolayı artık programımızın i&amp;ccedil;erisinde bu interface&amp;#39;i uygulamış t&amp;uuml;m class&amp;#39;lardan&amp;nbsp; ExtensionMetot isimli tanımlamış olduğumuz metoda erişebileceğiz.Ekledikten sonraki tekrar Main metoduna gidelim bakalım neler olmuş. &lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_36_10.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
G&amp;ouml;r&amp;uuml;ld&amp;uuml;ğ&amp;uuml; gibi artık istediğimiz olmuştur.T&amp;uuml;m class&amp;#39;lara gidip istediğimiz metodu yazmak yerine bu class&amp;#39;ların uyguladığı bir interface&amp;#39;e extension metot eklediğimizden dolayı bu aray&amp;uuml;z&amp;uuml; uygulamış t&amp;uuml;m nesnelerimiz &amp;uuml;zerinden erişebiliyoruz.Intelisense yukarıda dediğimiz gibi bunun bir genişletme metodu olduğunu belli ediyor zaten. Aşağıdaki gibi iki nesnemiz &amp;uuml;zerinden Extension metodları &amp;ccedil;ağırır isek aşağıdaki g&amp;ouml;r&amp;uuml;n&amp;uuml;m&amp;uuml; elde edebiliriz.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_12.jpg" alt="" /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_11.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
Kendi class&amp;#39;larımıza ,interface&amp;#39;lerimize ve framework&amp;#39;deki tipe extension metot işlemini ger&amp;ccedil;ekleştirdik.Ve dedik ki .NET Framework i&amp;ccedil;indeki inteface&amp;#39;lerede uygulanabildiğini s&amp;ouml;yledik.Peki birde ona bakalım&amp;nbsp; , aslında diğerlerinden hi&amp;ccedil; bir farkı yok :). Amacımız mantığını anlamak olduğundan IEnumerable aray&amp;uuml;z&amp;uuml; bu &amp;ouml;rnek i&amp;ccedil;in &amp;ccedil;ok g&amp;uuml;zel.&amp;Ouml;rneğimizin kurgusu ş&amp;ouml;yle olsun.Bir extension metot yazalım ve IEnumerable&amp;lt;int&amp;gt; tipinden t&amp;uuml;reyen t&amp;uuml;m generic koleksiyonlar(Stack,List vb.) kullanabilsin.Ve extension metotda olması gereken kurallara g&amp;ouml;re aşağıda oluşturuyorum.
&lt;/p&gt;
&lt;p&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; InterfaceExtensionEkle&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; IEnumerable&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; HariciMetot2(&lt;span class="kwrd"&gt;this&lt;/span&gt; IEnumerable&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; gelen)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; liste = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i &lt;span class="kwrd"&gt;in&lt;/span&gt; gelen)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (i % 2 == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; liste.Add(i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;return&lt;/span&gt; liste;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
[/code]&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Burada geri d&amp;ouml;n&amp;uuml;ş tipi IEnumerable&amp;lt;int&amp;gt; olan adı HariciMetot2 ve ilk parametresindede bunun bir extension metot olacağından hangi tip &amp;uuml;zerinden erişmek istiyor isem onu belirtiyorum.Ben burada IEnumerable&amp;lt;int&amp;gt; dediğimden .NET Framework&amp;#39;deki&amp;nbsp; IEnumerable&amp;lt;int&amp;gt; tipindeki t&amp;uuml;m tiplerimden bu metoduma ulaşabileceğim.Ve metodun amacıda i&amp;ccedil;erisinde oluşturğum int tipinden olan Generic List&amp;#39;ime&amp;nbsp; hangi IEnumerable&amp;lt;int&amp;gt;&amp;#39;i uygulamış tip &amp;uuml;zerinden &amp;ccedil;ağırılır ise &amp;ccedil;ağırıldığı koleksiyonun i&amp;ccedil;indeki &amp;uuml;yelere bakarak &amp;ccedil;ift olan sayıları bulup daha sonra bunu geri d&amp;ouml;nd&amp;uuml;r&amp;uuml;yorum.B&amp;ouml;yle basit bir metot.Peki şimdi programımızda kullanalım bakalım nasıl &amp;ccedil;alışıyor.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_14.jpg" alt="" /&gt;&lt;br /&gt;
G&amp;ouml;r&amp;uuml;ld&amp;uuml;ğ&amp;uuml; gibi int tipinden generic bir List koleksiyonu oluşturmuşum ve i&amp;ccedil;erisinde 1&amp;#39;den 10&amp;#39;a kadar değerler vermişim.Daha sonra benim amacım &amp;ccedil;ift sayıları bulmak olduğundan IEnumerable&amp;lt;int&amp;gt; tipinden bir nesneme IEnumerable&amp;lt;int&amp;gt;&amp;#39;i uygulamış bir koleksiyon nesnesi &amp;uuml;zerinden &amp;ccedil;ift sayıları bulan bir extensin metoda erişmeye &amp;ccedil;alışıyorum.Ve HariciMetot2 adında bir metotun g&amp;ouml;z&amp;uuml;kt&amp;uuml;ğ&amp;uuml;n&amp;uuml; g&amp;ouml;r&amp;uuml;yorum.Genişletme metodumun uygulanacağı tip IEnumerable&amp;lt;int&amp;gt; olduğundan generic List&amp;#39;imde bu tipten yani IEnumerable&amp;lt;int&amp;gt;&amp;#39;den etkilendiğinden sayilar adındaki diğer t&amp;uuml;m extension&amp;#39;lara erişebildiğim gibi kendi yazmış olduğum genişletme metoduna erişmiş durumdayım.Bu metot sayilar nesnesindeki sayıların i&amp;ccedil;erisindeki &amp;ccedil;ift sayıları bularak &amp;Ccedil;iftSayilar adındaki nesneme aktaracaktır.Daha sonra main&amp;#39;e giderek yazmış olduğum metodu kullanıp &amp;ccedil;ift sayıları ekrana başarılı birşekilde yazdırabiliyorum.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="code"&gt;
[code:c#]&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; sayilar = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt; ciftSayilar = sayilar.HariciMetot2();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt; i &lt;span class="kwrd"&gt;in&lt;/span&gt; ciftSayilar)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(i);&lt;br /&gt;
[/code]&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;br /&gt;
Ve sonuca baktığımda istediğimizin olduğunu g&amp;ouml;rebiliyoruz.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/pics/MakaleResim/mk_36_15.jpg" alt="" /&gt;&lt;br /&gt;
Bu şekilde interface&amp;#39;lerede genişletme metotları yazarak bir&amp;ccedil;ok işi daha kolay hale getirebiliyoruz :)
&lt;/p&gt;
&lt;p&gt;
Anlattıklarımı kısaca toparlar isek biz Class&amp;#39;lara ve Interface&amp;#39;lere Extension metot ekledik.Fakat Struct(Yapı)&amp;#39;lara da genişletme metotları yazabiliriz.Genişletme metotlarımızın aşırı y&amp;uuml;klenmiş hallerini yazabir. Genişletme metotları hangi tipe uygulanacak ise ilk parametresinde this anahtar kelimesi ile bildirilmedilir .Ve son olarak da genişletme metotları static bir class i&amp;ccedil;erisinde static anahtar kelimesi ile kendiside işaretlenmelidir diye &amp;ouml;zetleyebiliriz. 
&lt;/p&gt;
&lt;p&gt;
Bu yazımda kısaca C# 3.0 ile gelen Extension Metotlara deyinmek istemiştim.Faydalı olması dileğiyle iyi &amp;ccedil;alışmalar herkese :)
&lt;/p&gt;
&lt;p&gt;
Serhat TAŞ
&lt;/p&gt;
&lt;p&gt;
serhat@serhattas.net 
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/Cbc_bUQk9NE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/Cbc_bUQk9NE/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2009/05/18/C-30-Extension-Methods-(Genisletme-Metotlarc4b1).aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=d6cc31e9-0820-4c51-83cd-94993d907f0b</guid>
      <pubDate>Mon, 18 May 2009 13:11:00 +0300</pubDate>
      <category>C# &amp; .NET</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=d6cc31e9-0820-4c51-83cd-94993d907f0b</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=d6cc31e9-0820-4c51-83cd-94993d907f0b</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2009/05/18/C-30-Extension-Methods-(Genisletme-Metotlarc4b1).aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=d6cc31e9-0820-4c51-83cd-94993d907f0b</wfw:commentRss>
    <feedburner:origLink>http://www.serhattas.net/post.aspx?id=d6cc31e9-0820-4c51-83cd-94993d907f0b</feedburner:origLink></item>
    <item>
      <title>nedirtv?com - Mayıs Ayı Webinerleri</title>
      <description>&lt;div style="text-align: center"&gt;
&lt;img src="http://www.nedirtv.com/images/haberler/logo_nedirtv_webinerleri.gif" border="0" alt="" /&gt;
&lt;/div&gt;
&lt;div style="text-align: center"&gt;
&lt;div align="left"&gt;
&lt;strong&gt;nedirtv?com webinerleri t&amp;uuml;m hızıyla devam ediyor. Bu ay da ASP.NET
MVC, WCF, WF, SQL Server Integration Services ve XNA Game Studio gibi
konularda altı farklı webinerle karşınızdayız.&lt;/strong&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p align="left"&gt;
Mayıs ayında ger&amp;ccedil;ekleştireceğimiz webinerlerle ilgili bilgileri aşağıda bulabilirsiniz.
&lt;/p&gt;
&lt;p align="left"&gt;
Webinerlere
katılmak i&amp;ccedil;in etkinlik zamanında belirtilen sayfaya giriş yapmanız
yeterlidir. Eğer bilgisayarınızdan Windows Live Meeting&amp;#39;i kullanarak
ilk defa bir webinere katılacaksanız, etkinlik vaktinden 5 dakika kadar
&amp;ouml;nce sayfaya giriş yapmanız ve bilgisayarınıza k&amp;uuml;&amp;ccedil;&amp;uuml;k bir kurulum
yapmanız yeterli olacaktır.
&lt;/p&gt;
&lt;p align="left"&gt;
Konu: &lt;strong&gt;SQL Server Integration Services(SSIS)&lt;/strong&gt;   &lt;br /&gt;
Konuşmacı: Burak BATUR   &lt;br /&gt;
Zaman: 12 Mayıs 2009 Salı 21:00-22:00   &lt;br /&gt;
Adres: &lt;a href="https://www.livemeeting.com/cc/mvp/join?id=G7WZ27&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/mvp/join?id=G7WZ27&amp;amp;role=attend&lt;/a&gt;   &lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;ASP.NET MVC - URL Routing&lt;/strong&gt;   &lt;br /&gt;
Konuşmacı: Uğur UMUTLUOĞLU   &lt;br /&gt;
Zaman: 18 Mayıs 2009 Pazartesi 21:00-22:00   &lt;br /&gt;
Adres: &lt;a href="https://www.livemeeting.com/cc/mvp/join?id=NSWTM3&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/mvp/join?id=NSWTM3&amp;amp;role=attend&lt;/a&gt;   &lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;WCF 4.0 ve WF 4.0&lt;/strong&gt;   &lt;br /&gt;
Konuşmacı: Burak Selim ŞENYURT   &lt;br /&gt;
Zaman: 19 Mayıs 2009 Salı 21:00-22:00   &lt;br /&gt;
Adres: &lt;a href="https://www.livemeeting.com/cc/mvp/join?id=N5PFDH&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/mvp/join?id=N5PFDH&amp;amp;role=attend&lt;/a&gt;   &lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;WCF ve TCP Hosting&lt;/strong&gt;   &lt;br /&gt;
Konuşmacı: Onur ŞİMŞEK   &lt;br /&gt;
Zaman: 20 Mayıs 2009 &amp;Ccedil;arşamba 21:00-22:00   &lt;br /&gt;
Adres: &lt;a href="https://www.livemeeting.com/cc/mvp/join?id=WG72QF&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/mvp/join?id=WG72QF&amp;amp;role=attend&lt;/a&gt;  &lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;REST Bazlı WCF Servisleri ve WCF Rest Starter Kit     &lt;br /&gt;
&lt;/strong&gt;Konuşmacı: Burak Selim ŞENYURT   &lt;br /&gt;
Zaman: 26 Mayıs 2009 Salı 21:00-22:00   &lt;br /&gt;
Adres: &lt;a href="https://www.livemeeting.com/cc/mvp/join?id=T9FM2B&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/mvp/join?id=T9FM2B&amp;amp;role=attend&lt;/a&gt;   &lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;XNA Game Studio ile 3D Oyun Geliştirme-1&lt;/strong&gt;   &lt;br /&gt;
Konuşmacı: Cemil UZUN   &lt;br /&gt;
Zaman: 27 Mayıs 2009 &amp;Ccedil;arşamba 21:00-22:00   &lt;br /&gt;
Adres: &lt;a href="https://www.livemeeting.com/cc/mvp/join?id=9QPZ6Q&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/mvp/join?id=9QPZ6Q&amp;amp;role=attend&lt;/a&gt; 
&lt;/p&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;div style="text-align: center"&gt;
&amp;nbsp;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/K_9ZrKtaqo0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/K_9ZrKtaqo0/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2009/05/12/nedirtvcom-Mayc4b1s-Ayc4b1-Webinerleri.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=308e69d8-fc45-4577-a629-9a84f7f6c8fe</guid>
      <pubDate>Tue, 12 May 2009 00:08:00 +0300</pubDate>
      <category>Duyuru &amp; Haber</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=308e69d8-fc45-4577-a629-9a84f7f6c8fe</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=308e69d8-fc45-4577-a629-9a84f7f6c8fe</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2009/05/12/nedirtvcom-Mayc4b1s-Ayc4b1-Webinerleri.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=308e69d8-fc45-4577-a629-9a84f7f6c8fe</wfw:commentRss>
    <feedburner:origLink>http://www.serhattas.net/post.aspx?id=308e69d8-fc45-4577-a629-9a84f7f6c8fe</feedburner:origLink></item>
    <item>
      <title>nedirtv?com - Nisan Ayı Webinerleri</title>
      <description>&lt;div style="text-align: center"&gt;
&lt;img src="http://profile.ak.facebook.com/object3/1703/123/n69299116143_5536.jpg" border="0" alt="nedirtv webiner" /&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;div align="center"&gt;
&lt;/div&gt;
&lt;h3 align="center"&gt;nedirtv?com - Nisan Ayı Webinerleri&lt;/h3&gt;
&lt;p&gt;
Bu ay SQL Server Integration Services, Silverlight 3.0, ASP.NET MVC ve
SQL Data Services gibi yepyeni konularında olduğu webiner programımız
aşağıdadır.
&lt;/p&gt;
Webinerlere
katılmak i&amp;ccedil;in etkinlik zamanında belirtilen sayfaya giriş yapmanız
yeterlidir. Eğer bilgisayarınızdan Windows Live Meeting&amp;#39;i kullanarak
ilk defa bir webinere katılacaksanız, etkinlik vaktinden 5 dakika kadar
&amp;ouml;nce sayfaya giriş yapmanız ve bilgisayarınıza k&amp;uuml;&amp;ccedil;&amp;uuml;k bir kurulum
yapmanız yeterli olacaktır.
&lt;p&gt;
&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;SQL Server Integration Services&lt;/strong&gt;&lt;br /&gt;
Zaman: 14 Nisan 2009 Salı 21:00-22:00&lt;br /&gt;
Konuşmacı: Burak BATUR&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=K3S876&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=K3S876&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;WCF ve TCP Hosting&lt;/strong&gt;&lt;br /&gt;
Zaman: 17 Nisan 2009 Cuma 21:00-22:00&lt;br /&gt;
Konuşmacı: Onur ŞİMŞEK&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=M4Z6R2&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=M4Z6R2&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;Silverlight 3.0&lt;/strong&gt;&lt;br /&gt;
Zaman: 19 Nisan 2009 Pazar 21:00-22:00&lt;br /&gt;
Konuşmacı: Daron Y&amp;Ouml;NDEM&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=Z2535F&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=Z2535F&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;XNA Game Studio 3.0 ile Oyun Geliştirme&lt;/strong&gt;&lt;br /&gt;
Zaman: 21 Nisan 2009 Salı 21:00-22:00&lt;br /&gt;
Konuşmacı: Cemil UZUN&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=Q5TM74&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=Q5TM74&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;SQL Server 2008 - Full-Text Indexing&lt;/strong&gt;&lt;br /&gt;
Zaman: 22 Nisan 2009 &amp;Ccedil;arşamba 21:00-22:00&lt;br /&gt;
Konuşmacı: Pamir ERDEM&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=FD368T&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=FD368T&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;Silverlight 3.0 ve İş Uygulamaları&lt;/strong&gt;&lt;br /&gt;
Zaman: 26 Nisan 2009 Pazar 21:00-22:00&lt;br /&gt;
Konuşmacı: Daron Y&amp;Ouml;NDEM&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=58G535&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=58G535&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;ASP.NET MVC Framework&amp;#39;e Giriş&lt;/strong&gt;&lt;br /&gt;
Zaman: 27 Nisan 2009 Pazartesi 21:00-22:00&lt;br /&gt;
Konuşmacı: Uğur UMUTLUOĞLU&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=GNM9B3&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=GNM9B3&amp;amp;role=attend&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Konu: &lt;strong&gt;SQL Data Services&lt;/strong&gt;&lt;br /&gt;
Zaman: 28 Nisan 2009 Salı 21:00-22:00&lt;br /&gt;
Konuşmacı: Y.Tarık KRANDA&lt;br /&gt;
Adres: &lt;a rel="nofollow" href="https://www.livemeeting.com/cc/usergroups/join?id=4S2MDW&amp;amp;role=attend" target="_blank" onmousedown="UntrustedLink.bootstrap($(this), "&gt;https://www.livemeeting.com/cc/usergroups/join?id=4S2MDW&amp;amp;role=attend&lt;/a&gt; 
&lt;/p&gt;
&amp;nbsp;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/Gv-rVLOK00c" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/Gv-rVLOK00c/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2009/04/10/nedirtvcom-Nisan-Ayc4b1-Webinerleri.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=17a2791f-a835-4a8d-9805-d924b838a7da</guid>
      <pubDate>Fri, 10 Apr 2009 18:13:00 +0300</pubDate>
      <category>Duyuru &amp; Haber</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=17a2791f-a835-4a8d-9805-d924b838a7da</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=17a2791f-a835-4a8d-9805-d924b838a7da</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2009/04/10/nedirtvcom-Nisan-Ayc4b1-Webinerleri.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=17a2791f-a835-4a8d-9805-d924b838a7da</wfw:commentRss>
    <feedburner:origLink>http://www.serhattas.net/post.aspx?id=17a2791f-a835-4a8d-9805-d924b838a7da</feedburner:origLink></item>
    <item>
      <title>Visual Studio Add-In  - CopySourceAsHtml</title>
      <description>&lt;p&gt;
&amp;Ccedil;oğu blog yazarı gibi bazı durumlarda kod paylaştığımda onları renklendirmek zorunda oluyorum.BlogEngine&amp;#39;de bu hizmeti veriyor fakat farklı satırlarda dağınık kodlar olunca bu bile uzun zaman alıyor.Ger&amp;ccedil;i bu hizmeti veren bazı siteler var fakat onlarada tam olarak ısınamadım :) . Visual Studio&amp;#39;da yazılan kodu direk olarak paylaşıma hazırlayan bir add-in var.Adı&amp;nbsp; &lt;u&gt;CopySourceAsHtml&lt;/u&gt; .
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/ " target="_blank"&gt;Eklentiyi İndir &lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Eklentiyi kurduktan sonra kodu se&amp;ccedil;ip sağtuş /&amp;nbsp; Copy As HTML diyoruz&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_35_1.jpg" alt="visual studio" /&gt;
&lt;/p&gt;
&lt;p&gt;
Daha sonra ekrana aşağıdaki&amp;nbsp; pencere gelecektir.Koda uygulanacak ayarları se&amp;ccedil;ebiliriz buradan.Mesela Number lines from&amp;#39;u işaretlemezsek satır numaraları g&amp;ouml;z&amp;uuml;kmeyecektir gibi.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src="/pics/MakaleResim/mk_35_2.jpg" alt="visual studio eklenti kod renklendirme" /&gt;
&lt;/p&gt;
&lt;p&gt;
OK dedikten sonra artık kodlarımız hafızada hazır beklemektedir.Tek yapmamız gereken kodlarımızı kullanacağımız yere yapıştırmak olacaktır.&amp;Ouml;rnek olması a&amp;ccedil;ısından basit bir not defterine kodları yapıştırarak test.html sayfası oluşturdum .&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_35_3.jpg" alt="visual studio code" /&gt;
&lt;/p&gt;
&lt;p&gt;
Kodları eklediğimiz test.html sayfasını &amp;ccedil;alıştırırsak renklendirme işleminin problemsiz ve olduk&amp;ccedil;a kolay bir şekilde HTML olarak oluştuğunu g&amp;ouml;rebiliriz .&lt;br /&gt;
&lt;img src="/pics/MakaleResim/mk_35_4.jpg" alt="visual studio add-in" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
İyi &amp;ccedil;alışmalar herkese :) 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/P6ZpNXGMD1Q" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/P6ZpNXGMD1Q/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2009/04/07/Visual-Studio-Add-In-CopySourceAsHtml.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=ef8e7c4a-78a5-4d42-8dbe-6efe13e3ab4c</guid>
      <pubDate>Tue, 07 Apr 2009 22:12:00 +0300</pubDate>
      <category>Visual Studio</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=ef8e7c4a-78a5-4d42-8dbe-6efe13e3ab4c</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=ef8e7c4a-78a5-4d42-8dbe-6efe13e3ab4c</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2009/04/07/Visual-Studio-Add-In-CopySourceAsHtml.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=ef8e7c4a-78a5-4d42-8dbe-6efe13e3ab4c</wfw:commentRss>
    <feedburner:origLink>http://www.serhattas.net/post.aspx?id=ef8e7c4a-78a5-4d42-8dbe-6efe13e3ab4c</feedburner:origLink></item>
    <item>
      <title>nedirtv?com - Mart Ayı Webinerleri</title>
      <description>&lt;strong&gt;nedirtv?com webinerleri Mart ayında da t&amp;uuml;m hızıyla devam ediyor.
Sekiz farklı webinerin olacağı bu ayda XNA Game Studio, Visual
Basic.NET ve SQL Server 2008 gibi konuları ilk defa ele alacağız.&lt;/strong&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
Mart ayında ger&amp;ccedil;ekleştireceğimiz webinerlerle ilgili bilgileri aşağıda bulabilirsiniz.
&lt;/p&gt;
&lt;p&gt;
Webinerlere
katılmak i&amp;ccedil;in etkinlik zamanında belirtilen sayfaya giriş yapmanız
yeterlidir. Eğer bilgisayarınızdan Windows Live Meeting&amp;#39;i kullanarak
ilk defa bir webinere katılacaksanız, etkinlik vaktinden 5 dakika kadar
&amp;ouml;nce sayfaya giriş yapmanız ve bilgisayarınıza k&amp;uuml;&amp;ccedil;&amp;uuml;k bir kurulum
yapmanız yeterli olacaktır.
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;XNA Game Studio 3.0&amp;#39;a Giriş     &lt;br /&gt;
&lt;/strong&gt;Zaman: 15 Mart 2009 Pazar 15:00-16:00   &lt;br /&gt;
Konusmacı: Cemil UZUN   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=ZQ2B6R&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=ZQ2B6R&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;ASP.NET - Veriye Erişim - I     &lt;br /&gt;
&lt;/strong&gt;Zaman: 16 Mart 2009 Pazartesi 21:00-22:00   &lt;br /&gt;
Konusmacı: Uğur UMUTLUOĞLU   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=S8GGH9&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=S8GGH9&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=S8GGH9&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;ASP.NET - Veriye Erişim - II&lt;/strong&gt;   &lt;br /&gt;
Zaman: 18 Mart 2009 &amp;Ccedil;arşamba 21:00-22:00   &lt;br /&gt;
Konusmacı: Uğur UMUTLUOĞLU   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=HS24BN&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=HS24BN&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=HS24BN&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;Visual Basic.NET 9.0&lt;/strong&gt;   &lt;br /&gt;
Zaman: 23 Mart 2009 Pazartesi 21:00-22:00   &lt;br /&gt;
Konusmacı: Burak Selim ŞENYURT   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=3RPNWR&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=3RPNWR&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=3RPNWR&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;MOSS Form Servisleri&lt;/strong&gt;   &lt;br /&gt;
Zaman: 24 Mart 2009 Salı 21:00-22:00   &lt;br /&gt;
Konusmacı: Burak BATUR   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=PCWN5B&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=PCWN5B&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=PCWN5B&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;SQL Server 2008 - Full-Text Indexing&lt;/strong&gt;   &lt;br /&gt;
Zaman: 25 Mart 2009 &amp;Ccedil;arşamba 21:00-22:00   &lt;br /&gt;
Konusmacı: Pamir ERDEM   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=N44G96&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=N44G96&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=N44G96&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Konu: &lt;strong&gt;WCF - Giriş&lt;/strong&gt;   &lt;br /&gt;
Zaman: 27 Mart 2009 Cuma 21:00-22:00   &lt;br /&gt;
Konusmacı: Burak Selim ŞENYURT   &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=4B89QK&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=4B89QK&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=4B89QK&amp;amp;role=attend&lt;/a&gt;
&lt;/p&gt;
Konu: &lt;strong&gt;Workflow Foundation - Giriş&lt;/strong&gt; &lt;br /&gt;
Zaman: 30 Mart 2009 Pazartesi 21:00-22:00 &lt;br /&gt;
Konusmacı: Burak Selim ŞENYURT &lt;br /&gt;
Katılım Adresi: &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=WJ77P2&amp;amp;role=attend" title="https://www.livemeeting.com/cc/usergroups/join?id=WJ77P2&amp;amp;role=attend"&gt;https://www.livemeeting.com/cc/usergroups/join?id=WJ77P2&amp;amp;role=attend&lt;/a&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/serhat/~4/Clyxkdq4ukA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/serhat/~3/Clyxkdq4ukA/post.aspx</link>
      <author>serhattas1989.nospam@nospam.gmail.com (Serhat)</author>
      <comments>http://www.serhattas.net/post/2009/03/13/nedirtvcom-Mart-Ayc4b1-Webinerleri.aspx#comment</comments>
      <guid isPermaLink="false">http://www.serhattas.net/post.aspx?id=cb5a6dd9-f3cc-4205-a24b-4b1a4f99dcbd</guid>
      <pubDate>Fri, 13 Mar 2009 01:13:00 +0300</pubDate>
      <category>Duyuru &amp; Haber</category>
      <dc:publisher>Serhat</dc:publisher>
      <pingback:server>http://www.serhattas.net/pingback.axd</pingback:server>
      <pingback:target>http://www.serhattas.net/post.aspx?id=cb5a6dd9-f3cc-4205-a24b-4b1a4f99dcbd</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.serhattas.net/trackback.axd?id=cb5a6dd9-f3cc-4205-a24b-4b1a4f99dcbd</trackback:ping>
      <wfw:comment>http://www.serhattas.net/post/2009/03/13/nedirtvcom-Mart-Ayc4b1-Webinerleri.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.serhattas.net/syndication.axd?post=cb5a6dd9-f3cc-4205-a24b-4b1a4f99dcbd</wfw:commentRss>
    <feedburner:origLink>http://www.serhattas.net/post.aspx?id=cb5a6dd9-f3cc-4205-a24b-4b1a4f99dcbd</feedburner:origLink></item>
  <media:rating>adult</media:rating></channel>
</rss>

