<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Talk Nerdy To Me - Java, C#, .Net</title>
	<atom:link href="http://www.gavaghan.org/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gavaghan.org/blog</link>
	<description>Mike Gavaghan blogs on Java, C#, .Net, and the software industry</description>
	<lastBuildDate>Thu, 03 Jan 2013 16:01:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Intercepting Add and Remove of C# Event Delegates by Bruno Oliveira</title>
		<link>http://www.gavaghan.org/blog/2007/07/25/intercepting-add-and-remove-of-c-event-delegates/comment-page-1/#comment-917</link>
		<dc:creator>Bruno Oliveira</dc:creator>
		<pubDate>Thu, 03 Jan 2013 16:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2007/07/25/intercepting-add-and-remove-of-c-event-delegates/#comment-917</guid>
		<description>This actually seams to solve me a problem easily...i didn&#039;t tried yet but here it is:

This is the scenario:

I have a shared proxy, lets call this PROXY1, that subscribes an event of a third-party component WORKER1, and I have multiple clients listening on PROXY1 events.

This is the problem:

I need to free PROXY1 through Garbage collector finalizer, I can&#039;t dispose it by calling Dispose() because I don&#039;t known when all clients are finished using the PROXY1 events.

Solution:

Implement explicitly add, remove of PROXY1 events, and when listeners = zero unsubscribe the WORKER1 event, if listners != zero subscribe WORKER1 event.

Garbage collector will collect PROXY1 when no references points to it, and that happens when it unsubscribes WORKER1 event.</description>
		<content:encoded><![CDATA[<p>This actually seams to solve me a problem easily&#8230;i didn&#8217;t tried yet but here it is:</p>
<p>This is the scenario:</p>
<p>I have a shared proxy, lets call this PROXY1, that subscribes an event of a third-party component WORKER1, and I have multiple clients listening on PROXY1 events.</p>
<p>This is the problem:</p>
<p>I need to free PROXY1 through Garbage collector finalizer, I can&#8217;t dispose it by calling Dispose() because I don&#8217;t known when all clients are finished using the PROXY1 events.</p>
<p>Solution:</p>
<p>Implement explicitly add, remove of PROXY1 events, and when listeners = zero unsubscribe the WORKER1 event, if listners != zero subscribe WORKER1 event.</p>
<p>Garbage collector will collect PROXY1 when no references points to it, and that happens when it unsubscribes WORKER1 event.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding SSL – Part 1: Certificates and Keys by Ankit@Android</title>
		<link>http://www.gavaghan.org/blog/2009/10/14/understanding-ssl-%e2%80%93-part-1-certificates-and-keys/comment-page-1/#comment-916</link>
		<dc:creator>Ankit@Android</dc:creator>
		<pubDate>Wed, 02 Jan 2013 11:13:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2009/10/14/understanding-ssl-%e2%80%93-part-1-certificates-and-keys/#comment-916</guid>
		<description>This helped me in creating aX509 distinguished name. Thank you</description>
		<content:encoded><![CDATA[<p>This helped me in creating aX509 distinguished name. Thank you</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Intercepting Add and Remove of C# Event Delegates by Marc Gravell</title>
		<link>http://www.gavaghan.org/blog/2007/07/25/intercepting-add-and-remove-of-c-event-delegates/comment-page-1/#comment-914</link>
		<dc:creator>Marc Gravell</dc:creator>
		<pubDate>Sat, 22 Dec 2012 08:41:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2007/07/25/intercepting-add-and-remove-of-c-event-delegates/#comment-914</guid>
		<description>Firstly, you don&#039;t need to use Combine; += and -= work fine (the same as how, with strings, + is implemented via string.Concat).

Typical uses:

- sparse events via EventHandlerList
- event proxying

Also, note that the compiler-generated boilerplate is thread-safe, but the code here *is not*. S basically, the simpler &quot;field-like event&quot; version should be used by default (in preference to adding a delegate backing field).

With regards the comment about serialization: that can be handled too, by using the &quot;field:&quot; prefix on an attribute, for example:

[field:NonSerialized] public event EventHandler SomeEvent;</description>
		<content:encoded><![CDATA[<p>Firstly, you don&#8217;t need to use Combine; += and -= work fine (the same as how, with strings, + is implemented via string.Concat).</p>
<p>Typical uses:</p>
<p>- sparse events via EventHandlerList<br />
- event proxying</p>
<p>Also, note that the compiler-generated boilerplate is thread-safe, but the code here *is not*. S basically, the simpler &#8220;field-like event&#8221; version should be used by default (in preference to adding a delegate backing field).</p>
<p>With regards the comment about serialization: that can be handled too, by using the &#8220;field:&#8221; prefix on an attribute, for example:</p>
<p>[field:NonSerialized] public event EventHandler SomeEvent;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C#, GPS Receivers, and Geocaching: Vincenty&#8217;s Formula by Henri de Feraudy</title>
		<link>http://www.gavaghan.org/blog/2007/08/06/c-gps-receivers-and-geocaching-vincentys-formula/comment-page-1/#comment-912</link>
		<dc:creator>Henri de Feraudy</dc:creator>
		<pubDate>Thu, 06 Sep 2012 08:11:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2007/08/06/c-gps-receivers-and-geocaching-vincentys-formula/#comment-912</guid>
		<description>Readers my like to know that a recent C++ open source development is GeographicLib, whose author claims is far more accurate than Vincenty&#039;s formula. See http://geographiclib.sourceforge.net/.
Nevertheless the code you have presented is much easier to get into, and for distances of less than a 100km might be accurate, but I havent done any comparisons.</description>
		<content:encoded><![CDATA[<p>Readers my like to know that a recent C++ open source development is GeographicLib, whose author claims is far more accurate than Vincenty&#8217;s formula. See <a href="http://geographiclib.sourceforge.net/" rel="nofollow">http://geographiclib.sourceforge.net/</a>.<br />
Nevertheless the code you have presented is much easier to get into, and for distances of less than a 100km might be accurate, but I havent done any comparisons.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Use INotifyPropertyChanged with BindingList by Kurtis Lininger</title>
		<link>http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/comment-page-1/#comment-906</link>
		<dc:creator>Kurtis Lininger</dc:creator>
		<pubDate>Wed, 27 Jun 2012 17:24:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/#comment-906</guid>
		<description>Mike,

Thanks for the code!  The only change I did was wrap your &quot;// make sure the property name really exists&quot; code with &quot;#if DEBUG / #endif&quot; to save some time after things have proven to work.</description>
		<content:encoded><![CDATA[<p>Mike,</p>
<p>Thanks for the code!  The only change I did was wrap your &#8220;// make sure the property name really exists&#8221; code with &#8220;#if DEBUG / #endif&#8221; to save some time after things have proven to work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding SSL – Part 1: Certificates and Keys by Alex</title>
		<link>http://www.gavaghan.org/blog/2009/10/14/understanding-ssl-%e2%80%93-part-1-certificates-and-keys/comment-page-1/#comment-900</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Thu, 07 Jun 2012 14:19:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2009/10/14/understanding-ssl-%e2%80%93-part-1-certificates-and-keys/#comment-900</guid>
		<description>Congratulations, this blog is very useful. Thanks a lot.</description>
		<content:encoded><![CDATA[<p>Congratulations, this blog is very useful. Thanks a lot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Earth to Wells Fargo: Stop Being Stupid About Phishing! by quoted</title>
		<link>http://www.gavaghan.org/blog/2007/08/09/earth-to-wells-fargo-stop-being-stupid-about-phishing/comment-page-1/#comment-899</link>
		<dc:creator>quoted</dc:creator>
		<pubDate>Sun, 03 Jun 2012 19:33:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2007/08/09/earth-to-wells-fargo-stop-being-stupid-about-phishing/#comment-899</guid>
		<description>&lt;strong&gt;quoted...&lt;/strong&gt;

[...]Earth to Wells Fargo: Stop Being Stupid About Phishing! &#171; Talk Nerdy To Me &#8211; Java, C#, .Net &#171; Blog Archive[...]...</description>
		<content:encoded><![CDATA[<p><strong>quoted&#8230;</strong></p>
<p>[...]Earth to Wells Fargo: Stop Being Stupid About Phishing! &laquo; Talk Nerdy To Me &#8211; Java, C#, .Net &laquo; Blog Archive[...]&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Use INotifyPropertyChanged with BindingList by VB.Net, C#, C++</title>
		<link>http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/comment-page-1/#comment-897</link>
		<dc:creator>VB.Net, C#, C++</dc:creator>
		<pubDate>Sun, 29 Apr 2012 23:52:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/#comment-897</guid>
		<description>&lt;strong&gt;VB.Net, C#, C++...&lt;/strong&gt;

[...]Use INotifyPropertyChanged with BindingList &#171; Talk Nerdy To Me &#8211; Java, C#, .Net &#171; Blog Archive[...]...</description>
		<content:encoded><![CDATA[<p><strong>VB.Net, C#, C++&#8230;</strong></p>
<p>[...]Use INotifyPropertyChanged with BindingList &laquo; Talk Nerdy To Me &#8211; Java, C#, .Net &laquo; Blog Archive[...]&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
