Re: Is this good use of Properties?



Good stuff on VB.NET Bob. I'd love to hear more about specific scenarios in
VB.NET that you wish the language would have handled it better. Please
email me at brett1_at_cygen_dot_com, when you have time. It really helps me
understand both languages more.

Thanks,
Brett

"Bob Powell [MVP]" <bob@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:O5BnlnKVFHA.2128@xxxxxxxxxxxxxxxxxxxxxxx
> The property is completey self-contained, requires no instance data and
> returns a constant or literal value. This makes it an ideal candidate for
> static usage. Whether you refine your achitecture in that way is up to
> you.
>
> Whether a class has one instance or a million, the code is not duplicated
> on a per-instance basis, only the data, so essentitially your argument is
> valid, the only thing that matters is whether you intend to create a
> consistent and robust architecture or just fudge what your doing because
> it seems to work at the time. Not marking the property as static implies
> to the user that the property requires an instance of the class, which it
> doesn't
>
> As to your other question, I'll just don my flame-proof trousers quickly
> and say that I believe VB.NET was primarily expected to be code generated
> and so is unnecessarily wordy and insists on some quite ridiculous langage
> constructs. The insistence of the compiler that read-only is declared when
> it can easily be inferred is just one example in a long list of things
> that I find intensely annoying when using VB. Another is the stupidity of
> the Overloads-Overrides construct because an overload isn't neccesarily an
> override and vice-versa. Overloads can also be inferred by the compiler
> simply by looking at the method signature so this introduces more
> redundant waffle into the language.
>
> To be dispassionate VB.NET does have some advantages. I've seen code
> compiled with VB.NET that outperformed an exact equivalent program in C#
> on a couple of occasions now. This is not to say that the advantages are
> across-the-board however so I don't advocate VB as a performance enhancer.
>
> I think that if you write a lot of code by hand, which I do, C# has the
> leanest source code and the most sensible language structure. C# never
> makes me pull my hair out in despair like VB.NET does.
>
>
> --
> Bob Powell [MVP]
> Visual C#, System.Drawing
>
> Find great Windows Forms articles in Windows Forms Tips and Tricks
> http://www.bobpowell.net/tipstricks.htm
>
> Answer those GDI+ questions with the GDI+ FAQ
> http://www.bobpowell.net/faqmain.htm
>
> All new articles provide code in C# and VB.NET.
> Subscribe to the RSS feeds provided and never miss a new article.
>
>
>
>
>
> "Brett" <no@xxxxxxxx> wrote in message
> news:eK7Gk9JVFHA.3544@xxxxxxxxxxxxxxxxxxxxxxx
>>I could declare it as static but only one instance of this class will ever
>>exists. Given that scenario, isn't that basically the same as declaring
>>it static?
>>
>> What are some of your reasons for saying the VB compiler is brain dead?
>> I'm always interested in the detailed differences between C# and VB.NET
>> and where one is better than the other.
>>
>> Thanks,
>> Brett
>>
>> "Bob Powell [MVP]" <bob@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> news:OEAGOtJVFHA.3636@xxxxxxxxxxxxxxxxxxxxxxx
>>> The C# compiler, unlike the brain-dead VB compiler, can figure out for
>>> itself that if a property only has a get accessor then it's probably a
>>> read-only property. It's one of my VB pet hates.
>>>
>>> Perhaps the type of property you mention would be better as a static
>>> property similar to Pi in the Math class or "Red" in the Color class.
>>>
>>> --
>>> Bob Powell [MVP]
>>> Visual C#, System.Drawing
>>>
>>> Find great Windows Forms articles in Windows Forms Tips and Tricks
>>> http://www.bobpowell.net/tipstricks.htm
>>>
>>> Answer those GDI+ questions with the GDI+ FAQ
>>> http://www.bobpowell.net/faqmain.htm
>>>
>>> All new articles provide code in C# and VB.NET.
>>> Subscribe to the RSS feeds provided and never miss a new article.
>>>
>>>
>>>
>>>
>>>
>>> "Brett" <no@xxxxxxxx> wrote in message
>>> news:%23Cry0lJVFHA.2172@xxxxxxxxxxxxxxxxxxxxxxx
>>>> If I do this without declaring a corresponding field, is it considered
>>>> bad design? What are the advantages or disadvantages to either method?
>>>> Notice there is not set.
>>>>
>>>> public string URL
>>>> {
>>>> get
>>>> {
>>>> return "www.somewhere.com/test.aspx";
>>>> }
>>>> }
>>>>
>>>> vs. a more common approach:
>>>>
>>>>
>>>> private readonly string _URL = "www.somewhere.com/test.aspx";
>>>>
>>>> public string URL
>>>> {
>>>> get
>>>> {
>>>> return _URL;
>>>> }
>>>> }
>>>>
>>>> Also, if I only have a get accessor, is it necessary to declare the
>>>> field as readonly?
>>>>
>>>> Thanks,
>>>> Brett
>>>>
>>>
>>>
>>
>>
>
>


.



Relevant Pages

  • Re: Future for VC++ Programmers
    ... bluescreening the system (crash X windows). ... Especially the kind who speak their native language as a second ... I don't want an environment in which the compiler, the linker, and the debugger will, at ...
    (microsoft.public.vc.mfc)
  • Re: Is this good use of Properties?
    ... Overloads can also be inferred by the compiler ... Find great Windows Forms articles in Windows Forms Tips and Tricks ... >I could declare it as static but only one instance of this class will ever ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Difference between VC++ and UNIX
    ... It uses whatever compiler you have, in whatever language you like. ... like edit Lisp or integrate 3rd party compilers into Visual Studio. ... Windows, HP-UX, and Linux. ...
    (comp.programming)
  • Re: Visual C++ wont autcomplete?
    ... slow down the compiler). ... All you're really saying is that many existing Windows applications don't ... the full power of the C++ language ... ... Eclipse is much more than just an editor ... ...
    (microsoft.public.vc.mfc)
  • Re: Theodore Adorno, a prophet of data systems design
    ... >> the rip offs of his Altair Basic compiler) was a founding text because ... >> fashion that he needed to respect others' property rights. ... > Then you've never had to manage a network of Windows machines. ... It's not the fault of the language if people use it in ...
    (comp.programming)