<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments</title><link>http://msmvps.com/blogs/peterritchie/archive/2008/04/29/overcoming-problems-with-methodinfo-invoke-of-methods-with-by-reference-value-type-arguments.aspx</link><description>I ran into an interesting problem on the Forums recently. Basically, when you use MethodInfo.Invoke to invoke a method with by-reference value type arguments you can&amp;#39;t have the invoked method update a variable/argument. The problem is, when you invoke</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>re: Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments</title><link>http://msmvps.com/blogs/peterritchie/archive/2008/04/29/overcoming-problems-with-methodinfo-invoke-of-methods-with-by-reference-value-type-arguments.aspx#1609829</link><pubDate>Wed, 30 Apr 2008 12:33:37 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1609829</guid><dc:creator>PeterRitchie</dc:creator><description>&lt;p&gt;Yes, using Delegate.CreateDelegate(Type, MethodInfo) would be better in this circumstance.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1609829" width="1" height="1"&gt;</description></item><item><title>re: Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments</title><link>http://msmvps.com/blogs/peterritchie/archive/2008/04/29/overcoming-problems-with-methodinfo-invoke-of-methods-with-by-reference-value-type-arguments.aspx#1609660</link><pubDate>Wed, 30 Apr 2008 08:53:34 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1609660</guid><dc:creator>Thomas Danecker</dc:creator><description>&lt;p&gt;It&amp;#39;s not only nicer to use with a delegate but also alot more performant. All the runtime type-checks aren&amp;#39;t required anymore. This way you can increase reflection performance near to normal delegate invocation performance (which is really great)!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1609660" width="1" height="1"&gt;</description></item><item><title>re: Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments</title><link>http://msmvps.com/blogs/peterritchie/archive/2008/04/29/overcoming-problems-with-methodinfo-invoke-of-methods-with-by-reference-value-type-arguments.aspx#1608780</link><pubDate>Tue, 29 Apr 2008 18:25:51 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1608780</guid><dc:creator>Steve</dc:creator><description>&lt;p&gt;Forgot the code :)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void Main()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MethodInfo mi = typeof(Program).GetMethod(&amp;quot;TestMethod&amp;quot;);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var callback = (OneRefParameterCallback&amp;lt;int&amp;gt;)Delegate.CreateDelegate(typeof(OneRefParameterCallback&amp;lt;int&amp;gt;), mi);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int i = 0;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;callback(ref i);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.Assert(i == testValue);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1608780" width="1" height="1"&gt;</description></item><item><title>re: Overcoming problems with MethodInfo.Invoke of methods with by-reference value type arguments</title><link>http://msmvps.com/blogs/peterritchie/archive/2008/04/29/overcoming-problems-with-methodinfo-invoke-of-methods-with-by-reference-value-type-arguments.aspx#1608777</link><pubDate>Tue, 29 Apr 2008 18:21:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1608777</guid><dc:creator>Steve</dc:creator><description>&lt;p&gt;Why don&amp;#39;t you use Delegate.CreateDelegate(Type, MethodInfo)?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1608777" width="1" height="1"&gt;</description></item><item><title>Overcoming problems with MethodInfo.Invoke of methods with by-reference</title><link>http://msmvps.com/blogs/peterritchie/archive/2008/04/29/overcoming-problems-with-methodinfo-invoke-of-methods-with-by-reference-value-type-arguments.aspx#1608775</link><pubDate>Tue, 29 Apr 2008 18:20:42 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1608775</guid><dc:creator>DotNetKicks.com</dc:creator><description>&lt;p&gt;You&amp;#39;ve been kicked (a good thing) - Trackback from DotNetKicks.com&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1608775" width="1" height="1"&gt;</description></item></channel></rss>