<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anti-Pattern on Marko Apfel</title><link>http://blog.marko-apfel.de/tags/anti-pattern/</link><description>Recent content in Anti-Pattern on Marko Apfel</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 29 Oct 2009 12:35:00 +0100</lastBuildDate><atom:link href="http://blog.marko-apfel.de/tags/anti-pattern/index.xml" rel="self" type="application/rss+xml"/><item><title>Casting Anti-Pattern</title><link>http://blog.marko-apfel.de/posts/casting-anti-pattern/</link><pubDate>Thu, 29 Oct 2009 12:35:00 +0100</pubDate><guid>http://blog.marko-apfel.de/posts/casting-anti-pattern/</guid><description>&lt;p&gt;Im unten stehendem Code ist ein Anti-Pattern, welches immer wieder im ArcObjects-Kontext zu beobachten ist.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cs" data-lang="cs"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;element&lt;/span&gt; &lt;span class="k"&gt;is&lt;/span&gt; &lt;span class="n"&gt;IMapSurroundFrame&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;IMapSurround&lt;/span&gt; &lt;span class="n"&gt;mapSurround&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;IMapSurroundFrame&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;element&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;MapSurround&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;..&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Es wird eine &lt;code&gt;is&lt;/code&gt;-Abfrage gemacht (&lt;code&gt;element is IMapSurroundFrame&lt;/code&gt;) und dann ein Stück später der tatsächliche Cast &lt;code&gt;((IMapSurroundFrame)element)&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>