<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5099255724557717054</id><updated>2011-09-26T15:18:45.195-07:00</updated><title type='text'>Joey J. Barrett</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://joeyjbarrett.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://joeyjbarrett.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Joey J. Barrett</name><uri>http://www.blogger.com/profile/12636066616286416452</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_YWpkNWrkFu8/S32T_3svJEI/AAAAAAAACHI/dgkGJRmTeA4/S220/PA010002.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5099255724557717054.post-1817296747687538293</id><published>2010-02-18T10:27:00.001-08:00</published><updated>2010-02-18T11:11:28.168-08:00</updated><title type='text'>Overloading Properties with Visibility Modifiers</title><content type='html'>In C#, I keep running into instances where I would like to protect code blocks or have a decision for the code execution path based on a visibility modifier.  Programming against an execution sequence based on the calling code location (visibility) could prove to be extremely useful and create safer, more readable code.  I can find many instances were I program a single public property to act a certain way given the "state" of the object.  This is very typical in shared libraries that are used both server and client side.  An object that is transported and serialized can act differently based on it's location server or client side.  There are plenty of other uses to overload a method with visibility, this is just one example.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of course there would need to have an implicit notion of "next least visible" or "matching visibility" execution path.  An internal calling sequence should be directed to an "internal property" if one exists.  If it does not exist, the &lt;i&gt;next least visible &lt;/i&gt;(but greater then the current)&lt;i&gt; &lt;/i&gt;path should be chosen.  It should also be possible to specify explicitly, at the call, which visibility path is intended.  For example:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;myObject.ID.&lt;i&gt;public &lt;/i&gt;= 123;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;myObject.ID.&lt;i&gt;internal &lt;/i&gt;= 123;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;The execution path for a property overloaded using a visibility modifier is a static (compile time) decision.  The following code block is an example of an overloaded property in C#.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/* NOTE: THIS IS NOT LEGAL C#, causes property already defined error */&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style=" ;font-size:small;"&gt;public int ID&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;return data.ID;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;internal set&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;data.ID = value;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;set &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;// assumed public&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;modified.ID = value;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5099255724557717054-1817296747687538293?l=joeyjbarrett.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joeyjbarrett.blogspot.com/feeds/1817296747687538293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joeyjbarrett.blogspot.com/2010/02/overloading-properties-with-visibility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default/1817296747687538293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default/1817296747687538293'/><link rel='alternate' type='text/html' href='http://joeyjbarrett.blogspot.com/2010/02/overloading-properties-with-visibility.html' title='Overloading Properties with Visibility Modifiers'/><author><name>Joey J. Barrett</name><uri>http://www.blogger.com/profile/12636066616286416452</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_YWpkNWrkFu8/S32T_3svJEI/AAAAAAAACHI/dgkGJRmTeA4/S220/PA010002.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5099255724557717054.post-1925148008470543375</id><published>2010-01-14T20:03:00.001-08:00</published><updated>2010-01-14T20:04:59.761-08:00</updated><title type='text'>iPhone Sync'd with Google Calendar</title><content type='html'>Syncing the iPhone with Google is really easy and allows the organization of contacts, calendars and email (of course).  By simply adding your Gmail account as Exchange Server on the iPhone, the option of syncing is available.  If you use Google Voice it is really nice to have the contacts synced immediately as soon as you enter them on either the iPhone or on the web.  See &lt;a href="http://www.google.com/mobile/sync/"&gt;http://www.google.com/mobile/sync/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5099255724557717054-1925148008470543375?l=joeyjbarrett.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joeyjbarrett.blogspot.com/feeds/1925148008470543375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joeyjbarrett.blogspot.com/2010/01/iphone-sync-with-google-calendar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default/1925148008470543375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default/1925148008470543375'/><link rel='alternate' type='text/html' href='http://joeyjbarrett.blogspot.com/2010/01/iphone-sync-with-google-calendar.html' title='iPhone Sync&amp;#39;d with Google Calendar'/><author><name>Joey J. Barrett</name><uri>http://www.blogger.com/profile/12636066616286416452</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_YWpkNWrkFu8/S32T_3svJEI/AAAAAAAACHI/dgkGJRmTeA4/S220/PA010002.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5099255724557717054.post-201574441644520900</id><published>2009-02-04T02:39:00.001-08:00</published><updated>2009-02-04T02:40:18.376-08:00</updated><title type='text'>Introduction</title><content type='html'>I'm new to blogger.com.  Just giving it a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5099255724557717054-201574441644520900?l=joeyjbarrett.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joeyjbarrett.blogspot.com/feeds/201574441644520900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joeyjbarrett.blogspot.com/2009/02/im-new-to-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default/201574441644520900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5099255724557717054/posts/default/201574441644520900'/><link rel='alternate' type='text/html' href='http://joeyjbarrett.blogspot.com/2009/02/im-new-to-blogger.html' title='Introduction'/><author><name>Joey J. Barrett</name><uri>http://www.blogger.com/profile/12636066616286416452</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_YWpkNWrkFu8/S32T_3svJEI/AAAAAAAACHI/dgkGJRmTeA4/S220/PA010002.JPG'/></author><thr:total>0</thr:total></entry></feed>
