<?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"
	>
<channel>
	<title>Comments for private override</title>
	<atom:link href="http://jonfuller.codingtomusic.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonfuller.codingtomusic.com</link>
	<description></description>
	<pubDate>Tue, 06 Jan 2009 08:48:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>Comment on static reflection - INotifyPropertyChanged by Alexey Romanov</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-153</link>
		<dc:creator>Alexey Romanov</dc:creator>
		<pubDate>Sat, 27 Dec 2008 08:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-153</guid>
		<description>Sorry for the double comment</description>
		<content:encoded><![CDATA[<p>Sorry for the double comment</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on static reflection - INotifyPropertyChanged by Alexey Romanov</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-152</link>
		<dc:creator>Alexey Romanov</dc:creator>
		<pubDate>Fri, 26 Dec 2008 14:04:46 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-152</guid>
		<description>It seems like you really want a decent macro system. In .Net that means, at the moment, either Nemerle or Boo.

I don't remember Boo syntax, but in Nemerle you can just write

[Accessor(flags = WantSetter)]
mutable _someField : int;

and it will be converted at compile time to

mutable _someField : int;
public SomeField : int {
  get { some_field }
  set { some_field = value }
}

Writing a macro which would insert FirePropertyChange calls as well is pretty easy.</description>
		<content:encoded><![CDATA[<p>It seems like you really want a decent macro system. In .Net that means, at the moment, either Nemerle or Boo.</p>
<p>I don&#8217;t remember Boo syntax, but in Nemerle you can just write</p>
<p>[Accessor(flags = WantSetter)]<br />
mutable _someField : int;</p>
<p>and it will be converted at compile time to</p>
<p>mutable _someField : int;<br />
public SomeField : int {<br />
  get { some_field }<br />
  set { some_field = value }<br />
}</p>
<p>Writing a macro which would insert FirePropertyChange calls as well is pretty easy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on static reflection - INotifyPropertyChanged by Alexey Romanov</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-151</link>
		<dc:creator>Alexey Romanov</dc:creator>
		<pubDate>Fri, 26 Dec 2008 13:05:09 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-151</guid>
		<description>It seems like you want a decent (i.e. not C preprocessor) macro system. On .Net the best language for this is probably Nemerle or Boo. You can just write (in Nemerle, I don't remember Boo syntax)

        [NotifiableProperty]
        public string _firstName;

and it will be converted to 

        public string FirstName
        {
            get { return _firstName; }
            set
            {
                if (_firstName != value)
                {
                    _firstName = value;
                    FirePropertyChanged("FirstName");
                }
            }
        }

at compile time, no run time overhead! See here: http://nemerle.org/Macros</description>
		<content:encoded><![CDATA[<p>It seems like you want a decent (i.e. not C preprocessor) macro system. On .Net the best language for this is probably Nemerle or Boo. You can just write (in Nemerle, I don&#8217;t remember Boo syntax)</p>
<p>        [NotifiableProperty]<br />
        public string _firstName;</p>
<p>and it will be converted to </p>
<p>        public string FirstName<br />
        {<br />
            get { return _firstName; }<br />
            set<br />
            {<br />
                if (_firstName != value)<br />
                {<br />
                    _firstName = value;<br />
                    FirePropertyChanged(&#8221;FirstName&#8221;);<br />
                }<br />
            }<br />
        }</p>
<p>at compile time, no run time overhead! See here: <a href="http://nemerle.org/Macros" rel="nofollow">http://nemerle.org/Macros</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on static reflection - INotifyPropertyChanged by private override &#187; Blog Archive &#187; static reflection - Method Guards</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-149</link>
		<dc:creator>private override &#187; Blog Archive &#187; static reflection - Method Guards</dc:creator>
		<pubDate>Thu, 11 Dec 2008 15:48:08 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-149</guid>
		<description>[...] private override       &#171; static reflection - INotifyPropertyChanged [...]</description>
		<content:encoded><![CDATA[<p>[...] private override       &laquo; static reflection - INotifyPropertyChanged [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on static reflection - INotifyPropertyChanged by .Net Ramblings &#187; Blog Archive &#187; Cleaning up INotifyPropertyChanged</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-148</link>
		<dc:creator>.Net Ramblings &#187; Blog Archive &#187; Cleaning up INotifyPropertyChanged</dc:creator>
		<pubDate>Wed, 10 Dec 2008 20:06:05 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-148</guid>
		<description>[...] (_name != value) conditions that have to be in every setter. Therefore, I was really excited to see this post from my friend Jonathan Fuller and his much cleaner way of implementing [...]</description>
		<content:encoded><![CDATA[<p>[...] (_name != value) conditions that have to be in every setter. Therefore, I was really excited to see this post from my friend Jonathan Fuller and his much cleaner way of implementing [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on static reflection - INotifyPropertyChanged by Paul</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-147</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Wed, 10 Dec 2008 19:43:29 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-147</guid>
		<description>I was always annoyed by implementing INotifyPropertyChanged. I'll definitely being using this in the future</description>
		<content:encoded><![CDATA[<p>I was always annoyed by implementing INotifyPropertyChanged. I&#8217;ll definitely being using this in the future</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on static reflection - INotifyPropertyChanged by Matt</title>
		<link>http://jonfuller.codingtomusic.com/2008/12/08/static-reflection-inotifypropertychanged/#comment-145</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Mon, 08 Dec 2008 19:14:55 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=56#comment-145</guid>
		<description>I like it!</description>
		<content:encoded><![CDATA[<p>I like it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on IndyTechFest PocketMod by Shawn</title>
		<link>http://jonfuller.codingtomusic.com/2008/10/01/indytechfest-pocketmod/#comment-142</link>
		<dc:creator>Shawn</dc:creator>
		<pubDate>Wed, 01 Oct 2008 18:45:42 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=47#comment-142</guid>
		<description>Wow, I've never tried this before. And they have so many templates on the site. This might change my life! Thanks, Jon!</description>
		<content:encoded><![CDATA[<p>Wow, I&#8217;ve never tried this before. And they have so many templates on the site. This might change my life! Thanks, Jon!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on a generic one-to-one mapping class by Daniel Meyer</title>
		<link>http://jonfuller.codingtomusic.com/2008/09/17/a-generic-one-to-one-mapping-class/#comment-141</link>
		<dc:creator>Daniel Meyer</dc:creator>
		<pubDate>Fri, 19 Sep 2008 17:25:30 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=38#comment-141</guid>
		<description>For our Java mapping stuff, we use a library called &lt;a href="http://dozer.sourceforge.net/" rel="nofollow"&gt;Dozer&lt;/a&gt; that does this kind of thing...</description>
		<content:encoded><![CDATA[<p>For our Java mapping stuff, we use a library called <a href="http://dozer.sourceforge.net/" rel="nofollow">Dozer</a> that does this kind of thing&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on looking for a better switch/case statement? by Paul</title>
		<link>http://jonfuller.codingtomusic.com/2008/09/04/looking-for-a-better-switchcase-statement/#comment-140</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Thu, 04 Sep 2008 20:09:10 +0000</pubDate>
		<guid isPermaLink="false">http://jonfuller.codingtomusic.com/?p=25#comment-140</guid>
		<description>Good point about the Default() method bug. Below is such an example:

int age;
Switch.On("Paul")
    .Case(x =&#62; x == "George", () =&#62; { age = 40; })
    .Default( () =&#62; { age = 70; })
    .Case(x =&#62; x == "Paul", () =&#62; { age = 25; });

In this situation age would be set to 70 instead of 25.

I think the Default() method signature will have to be updated to return void instead of Switch. This will ensure that Default() is always at the end of the statement and is only called if none of the Cases have been met.</description>
		<content:encoded><![CDATA[<p>Good point about the Default() method bug. Below is such an example:</p>
<p>int age;<br />
Switch.On(&#8221;Paul&#8221;)<br />
    .Case(x =&gt; x == &#8220;George&#8221;, () =&gt; { age = 40; })<br />
    .Default( () =&gt; { age = 70; })<br />
    .Case(x =&gt; x == &#8220;Paul&#8221;, () =&gt; { age = 25; });</p>
<p>In this situation age would be set to 70 instead of 25.</p>
<p>I think the Default() method signature will have to be updated to return void instead of Switch. This will ensure that Default() is always at the end of the statement and is only called if none of the Cases have been met.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
