Click here to Skip to main content
15,891,777 members
Home / Discussions / C#
   

C#

 
GeneralRe: UpdateCommandUI in C# and .NET Pin
Uwe Keim1-Feb-04 1:39
sitebuilderUwe Keim1-Feb-04 1:39 
GeneralRe: UpdateCommandUI in C# and .NET Pin
Mazdak1-Feb-04 1:56
Mazdak1-Feb-04 1:56 
GeneralAdobe Acrobat ocx problem Pin
Alex Korchemniy31-Jan-04 16:21
Alex Korchemniy31-Jan-04 16:21 
QuestionAutomatically creating classes ? Pin
Andres Coder31-Jan-04 13:27
Andres Coder31-Jan-04 13:27 
AnswerRe: Automatically creating classes ? Pin
Colin Angus Mackay31-Jan-04 15:39
Colin Angus Mackay31-Jan-04 15:39 
GeneralRe: Automatically creating classes ? Pin
Andres Coder31-Jan-04 21:35
Andres Coder31-Jan-04 21:35 
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay1-Feb-04 1:28
Colin Angus Mackay1-Feb-04 1:28 
GeneralRe: Automatically creating classes ? Pin
Andres Coder1-Feb-04 2:57
Andres Coder1-Feb-04 2:57 
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay1-Feb-04 3:42
Colin Angus Mackay1-Feb-04 3:42 
GeneralRe: Automatically creating classes ? Pin
Arjan Einbu1-Feb-04 9:05
Arjan Einbu1-Feb-04 9:05 
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay1-Feb-04 9:48
Colin Angus Mackay1-Feb-04 9:48 
GeneralRe: Automatically creating classes ? Pin
Arjan Einbu1-Feb-04 22:04
Arjan Einbu1-Feb-04 22:04 
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay2-Feb-04 1:33
Colin Angus Mackay2-Feb-04 1:33 
GeneralRe: Automatically creating classes ? Pin
Arjan Einbu2-Feb-04 3:26
Arjan Einbu2-Feb-04 3:26 
Colin Angus Mackay wrote:
If all you do in the property getter is return the member variable (field) then there isn't much difference.
Smile | :) You did in your example... Poke tongue | ;-P ;)


I know the rules of OO, but i believe rules can be broken sometimes if it serves a greater purpose. (Less code, fewer sources of error, greater maintainability.)

You're absolutely right that you might want to change your code later on, and if other assemblies access my field, they will need to be recompiled if that field later on is changed to a property. So if some other assemblies are going to use that singleton, one should consider wrapping it up in a property, as you say, Colin.
(Also, public fields cannot be made part of an interface definition, so there can be several reasons to make it a property.)

However, if the field is accessed only from within the same assembly (or assemblies that are compiled together with the containing assembly) it will make no difference if you change the field to a property. This is very often the case. (Though one should perhaps mark the property as internal instead of public in that case.)

Encapsulation is preserved i this construct. By making the instance constructor private, we make sure there will be made no other instances of the singleton.
Revealing the inner workings on this construct wont do any harm. The knowledge gained from it can't be abused to access inner data in other ways than the way we planned for.



Have a look at my latest article about Object Prevalence with Bamboo Prevalence.
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay2-Feb-04 4:08
Colin Angus Mackay2-Feb-04 4:08 
GeneralRe: Automatically creating classes ? Pin
Arjan Einbu2-Feb-04 4:36
Arjan Einbu2-Feb-04 4:36 
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay1-Feb-04 1:35
Colin Angus Mackay1-Feb-04 1:35 
GeneralRe: Automatically creating classes ? Pin
Andres Coder1-Feb-04 4:47
Andres Coder1-Feb-04 4:47 
GeneralRe: Automatically creating classes ? Pin
Colin Angus Mackay1-Feb-04 5:01
Colin Angus Mackay1-Feb-04 5:01 
QuestionVirtual colums in a datagrid? Pin
Franz Pentenrieder31-Jan-04 12:02
Franz Pentenrieder31-Jan-04 12:02 
AnswerRe: Virtual colums in a datagrid? Pin
Heath Stewart2-Feb-04 4:21
protectorHeath Stewart2-Feb-04 4:21 
GeneralQuick answer for threading Pin
jacal9931-Jan-04 11:35
jacal9931-Jan-04 11:35 
GeneralRe: Quick answer for threading Pin
OmegaSupreme1-Feb-04 5:37
OmegaSupreme1-Feb-04 5:37 
GeneralProblem with events (I think) ... Pin
Andres Coder31-Jan-04 9:14
Andres Coder31-Jan-04 9:14 
GeneralRe: Problem with events (I think) ... Pin
Mazdak31-Jan-04 9:31
Mazdak31-Jan-04 9:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.