<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Murat's Corner</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/murat/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/murat/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:23:28 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Converting 32Bit COM+ Solution to 64Bit (VS2010)</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/converting-32bit-com-solution-to-64bit-vs2010</link>
      <pubDate>Thu, 06 Jan 2011 13:54:24 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2011/01/06/converting-32bit-com-solution-to-64bit-vs2010/</guid>
      <description><![CDATA[Besides gazillions of things that can go wrong when converting a COM+ library written in C++ to...]]></description>
      <content:encoded><![CDATA[<p>Besides gazillions of things that can go wrong when converting a COM+ library written in C++ to 64Bit in Visual Studio 2010, the linker may start giving some weird "unresolved external symbol" errors for the autogenerated Proxy/Stub code.</p>
<p>The reason for that is, when you change the build target to Win64 for the solution, the MIDL thinks it's still generating code for the x86 platform. (yeah it's not a bug, it's a feature :))</p>
<p>But the workaround is easy:</p>
<p>Go to "Properties" screen of your COM+ application and change the "Target Environment" setting accordingly. </p>
<p>Edit: Just noticed this issue has been discussed <a target="_blank" href="https://connect.microsoft.com/VisualStudio/feedback/details/578130/vs2010-bug-unresolved-external-symbol-proxyfileinfo" title="here">here </a>as well. </p>]]></content:encoded>
    </item>
    <item>
      <title>Back online</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/back-online</link>
      <pubDate>Wed, 22 Dec 2010 13:02:03 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2010/12/22/back-online/</guid>
      <description><![CDATA[It's been a long time since I have last logged on to this blog site and have completely forgotten...]]></description>
      <content:encoded><![CDATA[<p>It's been a long time since I have last logged on to this blog site and have completely forgotten about it until today when I decided to clean my junk mail folder and saw lots of mails coming from readers marked as junk for some reason.&nbsp;So apologies to everyone to whom I havent replied back yet I'll try to go through feedbacks, questions and comments starting from tomorrow and update the blog.</p>
<p>Thanks to everyone who took the trouble of sending comments</p>]]></content:encoded>
    </item>
    <item>
      <title>Exposing Com Events - C#</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/exposing-com-events-c</link>
      <pubDate>Thu, 20 Nov 2008 05:00:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2008/11/20/exposing-com-events-c/</guid>
      <description><![CDATA[With C#'s declerative programming ability it's relatively easy to expose the types to COM...]]></description>
      <content:encoded><![CDATA[<P>With C#'s declerative programming ability it's relatively easy to expose the types to COM environment. But there are a few thing you must pay attention if you want to raise events from your managed COM component. I'll not go into the details of COM programming with C# but just focus on events for now.</P>
<P>Thanks to ComSourceInterfaces attribute; by using this attribute you can easily point to an interface which has the event declerations for your COM type. But before using that attribute you must have an interface to declare your type's events. (Keep in mind events are "dispatched", which means your interface that will contain the event declerations should implement IDispatch)</P>
<P>Here is a sample interface:</P><FONT size=2>
<P>[</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ComVisible</FONT></FONT><FONT size=2>(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>true</FONT></FONT><FONT size=2>)] //Exposed</P>
<P>[</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>InterfaceType</FONT></FONT><FONT size=2>(</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ComInterfaceType</FONT></FONT><FONT size=2>.InterfaceIsIDispatch)] //Our managed interface will be IDispatch</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>public</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>interface</FONT></FONT><FONT size=2> </FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>IMathEvents</FONT></FONT><FONT size=2> {</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; void</FONT></FONT><FONT size=2> OnOperationCompleted(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> message);</P>
<P>}</P>
<P>And of course we need a class that will implement that interface and expose our event to COM. Here it is:</P><FONT size=2>
<P>[</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ClassInterface</FONT></FONT><FONT size=2>(</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ClassInterfaceType</FONT></FONT><FONT size=2>.None)] </P>
<P>[</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ComSourceInterfaces</FONT></FONT><FONT size=2>(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>typeof</FONT></FONT><FONT size=2>(</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>IMathEvents</FONT></FONT><FONT size=2>))]&nbsp; <FONT color=#008000 size=2><FONT color=#008000 size=2>//Our event source is IMathEvents interface</P>
<P></FONT></FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>public</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>class</FONT></FONT><FONT size=2> </FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>Math</FONT></FONT><FONT size=2> : </FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ServicedComponent</FONT></FONT><FONT size=2> , </FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>IMath&nbsp; <FONT color=#008000 size=2><FONT color=#008000 size=2>/*IMath interface just declares a method named Add */</P>
<P></FONT></FONT>&nbsp;</FONT></FONT><FONT size=2>&nbsp;{</P>
<P mce_keep="true"></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp; public</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> Add(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> x, </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> y) {</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; if</FONT></FONT><FONT size=2> (</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>null</FONT></FONT><FONT size=2> != </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>this</FONT></FONT><FONT size=2>.OnOperationCompleted)</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp; &nbsp;&nbsp;this</FONT></FONT><FONT size=2>.OnOperationCompleted(</FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"Operation completed"</FONT></FONT><FONT size=2>);</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; return</FONT></FONT><FONT size=2> x + y;</P>
<P>}</P>
<P>[</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>ComVisible</FONT></FONT><FONT size=2>(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>false</FONT></FONT><FONT size=2>)]</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>public</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>delegate</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>void</FONT></FONT><FONT size=2> </FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>OperationCompletedDel</FONT></FONT><FONT size=2>(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> message); <FONT color=#008000 size=2><FONT color=#008000 size=2>//No need to expose this delegate</P>
<P></FONT></FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>public</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>event</FONT></FONT><FONT size=2> </FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>OperationCompletedDel</FONT></FONT><FONT size=2> OnOperationCompleted;</P>
<P>}</P></FONT></FONT>
<P mce_keep="true">We need the ClassInterface attribute and we need to set it to None. If we dont do that we'll end up with a class and two different interfaces one of which has the method and the other one having the event. And for example if you need to access that class from VB you'll end up with two interfaces which may be confusing such as;</P>
<P mce_keep="true">Private WithEvents ? obj as IMath &lt;--- Cannot access events ??</P>
<P mce_keep="true">Private WithEvents ?&nbsp;obj as IMathEvents &lt;-- Cannot access the Add method ??</P>
<P mce_keep="true">But obviously we need to be able to access both the event and members ;) thanks to ClassInterface attribute. So we can:</P>
<P mce_keep="true">Private WithEvents obj as Math </P>
<P mce_keep="true">&nbsp;</P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>EnvDTE - Adding a reference to a project</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/envdte-adding-a-reference-to-a-project</link>
      <pubDate>Wed, 30 Jul 2008 10:35:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2008/07/30/envdte-adding-a-reference-to-a-project/</guid>
      <description><![CDATA[It was confusing to see a property named "Object"&nbsp;on EndDTE.Project class (which returns an...]]></description>
      <content:encoded><![CDATA[<P>It was confusing to see a property named "Object"&nbsp;on EndDTE.Project class (which returns an object of type System.Object), especially when the tooltip didnt provide any useful information. (It's actual type is a ComObject) Anyway, actually it returns an object of type VSLangProj.VSProject (assuming you have a reference to VSLangProj). I was just trying to add a reference to my project within the VS Package I was working on and that class gives me the functionality I was looking for. Long story short, in order to add a reference (GAC)&nbsp;programmatically to your project here's what needs to be done:</P><FONT size=2>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>private</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>void</FONT></FONT><FONT size=2> AddReference(EnvDTE.</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>Project</FONT></FONT><FONT size=2> proj) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; VSLangProj.</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>VSProject</FONT></FONT><FONT size=2> vsProject = (VSLangProj.</FONT><FONT color=#800000 size=2><FONT color=#800000 size=2>VSProject</FONT></FONT><FONT size=2>)proj.Object;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; vsProject.References.Add(</FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"MyLibrary"</FONT></FONT><FONT size=2>);</P>
<P>}</P></FONT>]]></content:encoded>
    </item>
    <item>
      <title>Drag IT</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/drag-it</link>
      <pubDate>Mon, 15 Oct 2007 09:32:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2007/10/15/drag-it/</guid>
      <description><![CDATA["I really would like to be able to move (drag) that custom control which I have just implemeneted on...]]></description>
      <content:encoded><![CDATA[<P>"I really would like to be able to move (drag) that custom control which I have just implemeneted on another custom control (say Panel )" said to myself this weekend... and started to implement MouseMove events... but it should not be that hard and actually it was not. If you just mess with Win32 a little bit, here is a quick solution for that. Here it is:</P>
<P>The idea is: just get the windows message (the message when you need to begin dragging your control) and tell Windows that the mouse is down on the caption (title) of the form (jut like you do when dragging the windows)</P><FONT face=Courier>
<P><FONT color=#0000ff size=2>const</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> HTCAPTION = 0x2;</FONT></P><FONT color=#0000ff size=2>
<P>const</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> WM_NCLBUTTONDOWN = 0xA1;</P></FONT><FONT size=2><FONT color=#0000ff size=2><FONT size=2>
<P>[</FONT><FONT color=#800000 size=2>DllImportAttribute</FONT><FONT size=2>(</FONT><FONT color=#a31515 size=2>"user32.dll"</FONT><FONT size=2>)]</P>
<P></FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>static</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>extern</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> SendMessage(</FONT><FONT color=#800000 size=2>IntPtr</FONT><FONT size=2> hWnd, </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> Msg, </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> wParam, </FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> lParam);</P>
<P>[</FONT><FONT color=#800000 size=2>DllImportAttribute</FONT><FONT size=2>(</FONT><FONT color=#a31515 size=2>"user32.dll"</FONT><FONT size=2>)]</P>
<P></FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>static</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>extern</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>bool</FONT><FONT size=2> ReleaseCapture();</FONT></P>
<P><FONT size=2>&nbsp;</P>
<P></FONT>private</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> Control_MouseDown(</FONT><FONT color=#0000ff size=2>object</FONT><FONT size=2> sender, </FONT><FONT color=#800000 size=2>MouseEventArgs</FONT><FONT size=2> e) {</P>
<P>&nbsp;&nbsp;&nbsp; ReleaseCapture();</P>
<P>&nbsp;&nbsp;&nbsp; SendMessage(</FONT><FONT color=#0000ff size=2>this</FONT><FONT size=2>.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);</P></FONT>
<P>}</P></FONT></FONT>]]></content:encoded>
    </item>
    <item>
      <title>Office 2003</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/office-2003</link>
      <pubDate>Wed, 19 Sep 2007 08:56:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2007/09/19/office-2003/</guid>
      <description><![CDATA[Office 2003 - SP3 is available for download from (published...]]></description>
      <content:encoded><![CDATA[<P>Office 2003 - SP3 is available for download from (published 17/09/07)</P>
<P><A href="https://www.microsoft.com/downloads/details.aspx?FamilyId=E25B7049-3E13-433B-B9D2-5E3C1132F206&amp;displaylang=en">https://www.microsoft.com/downloads/details.aspx?FamilyId=E25B7049-3E13-433B-B9D2-5E3C1132F206&amp;displaylang=en</A></P>
<P>&nbsp;And the details are here: <A href="https://support.microsoft.com/?kbid=923618">https://support.microsoft.com/?kbid=923618</A></P>
<P mce_keep="true">&nbsp;</P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Non Serialized Properties</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/non-serialized-properties</link>
      <pubDate>Mon, 17 Sep 2007 13:02:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2007/09/17/non-serialized-properties/</guid>
      <description><![CDATA[A fellow has asked me the easiest way of NOT serializing a property when using XML...]]></description>
      <content:encoded><![CDATA[<P>A fellow has asked me the easiest way of NOT serializing a property when using XML serialization...</P>
<P>You can not use the NonSerializable attribute for properties because this attribute is only valid for public fields, but there is another attribute in the System.Xml.Serialization namespace which is XmlIgnore.</P>
<P>This attribute will tell the xml serializer to ignore the property when serializing / deserializing. Such as:</P>
<P><FONT size=2>&nbsp;</P>
<P>[</FONT><FONT color=#800000 size=2>XmlIgnore</FONT><FONT size=2>()]</P>
<P></FONT><FONT color=#0000ff><FONT size=2>public </FONT><FONT size=2>string&nbsp;</FONT></FONT><FONT size=2>PropertyName {</P>
<P></FONT><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; get</FONT><FONT size=2> { </FONT><FONT color=#0000ff size=2><FONT color=#008000 size=2>//code here</FONT></FONT><FONT size=2> }</FONT></P>
<P><FONT size=2><FONT color=#0000ff>&nbsp;&nbsp;&nbsp; set</FONT><FONT size=2> { </FONT><FONT color=#0000ff size=2><FONT color=#008000 size=2>//code here</FONT></FONT><FONT size=2> }</FONT></P>
<P>}</P></FONT>]]></content:encoded>
    </item>
    <item>
      <title>Office Web Components</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/office-web-components</link>
      <pubDate>Wed, 29 Aug 2007 13:38:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2007/08/29/office-web-components/</guid>
      <description><![CDATA[Was talking about charting components / libraries with a friend today. Just remembered that I have...]]></description>
      <content:encoded><![CDATA[<P>Was talking about charting components / libraries with a friend today. Just remembered that I have implemented one (a long time ago) with C#, which was nothing much but just a wrapper for OWC.</P>
<P>Well, it was OWC 2003&nbsp; - I think I'm getting old :-) -</P>
<P mce_keep="true">Here is the URL:</P>
<P><A href="https://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=6dff5ce3-1c2f-42c8-90a5-cf0290b0cffc" mce_href="https://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=6dff5ce3-1c2f-42c8-90a5-cf0290b0cffc">https://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=6dff5ce3-1c2f-42c8-90a5-cf0290b0cffc</A></P>
<P>&nbsp;PS: Requires OWC 2003</P>]]></content:encoded>
    </item>
    <item>
      <title>SMO</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/smo</link>
      <pubDate>Wed, 22 Aug 2007 18:08:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2007/08/22/smo/</guid>
      <description><![CDATA[SMO if a very powerful library, but if you do not have the correct version installed on your machine...]]></description>
      <content:encoded><![CDATA[<P>SMO if a very powerful library, but if you do not have the correct version installed on your machine (like me) it may make you spend your valuable time looking for non-existing errors. The assembly Microsoft.SqlServer.BatchParser is machine (CPU) specific, which means if you have .NET Framework 64Bit (like I do) installed and trying to run your code with x86 version, it will fail :) Just make sure you have the correct version installed on your system...</P>]]></content:encoded>
    </item>
    <item>
      <title>Delegate parameters</title>
      <link>https://docs.microsoft.com/archive/blogs/murat/delegate-parameters</link>
      <pubDate>Tue, 21 Aug 2007 17:13:00 GMT</pubDate>
      <dc:creator><![CDATA[NumLock1]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/murat/2007/08/21/delegate-parameters/</guid>
      <description><![CDATA[Let's say you have two delegates at hand:
delegate void DummyDelegateWithInt(int x);
and
delegate...]]></description>
      <content:encoded><![CDATA[<P>Let's say you have two delegates at hand:</P>
<P><FONT color=#0000ff size=2>delegate</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> </FONT><FONT color=#800000 size=2>DummyDelegateWithInt</FONT><FONT size=2>(</FONT><FONT color=#0000ff size=2>int</FONT><FONT size=2> x);</FONT></P>
<P><FONT size=2>and</FONT></P>
<P><FONT size=2><FONT color=#0000ff size=2>delegate</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> </FONT><FONT color=#800000 size=2>DummyDelegateWithObject</FONT><FONT size=2>(</FONT><FONT color=#0000ff size=2>object</FONT><FONT size=2> x);</FONT></P>
<P><FONT size=2>Everything seems OK right?&nbsp;But how about the performance issues? that question just crossed my mind. int is a value type where object is a reference type. I just implemented a very simple application that makes method calls through these delegates and passes the parameter 0 (int::zero). Of course&nbsp;these method calls are made&nbsp;more than once, 1,000,000,000 times... here is the result:</FONT></P>
<P><FONT size=2>Method calls made through the first delegate takes 6.3 - 6.4 seconds (1,000,000,000 times), and the second one takes 32 - 33 seconds in average. Of course you may have a much faster CPU than I have, but it will not change the fact will it?</FONT><FONT size=2></P></FONT></FONT>]]></content:encoded>
    </item>
  </channel>
</rss>