partial classes

  • Thread starter Thread starter Peter
  • Start date Start date
P

Peter

Hi

what is the general consensus about partial classes. I have only ever
used them where they are automatically generated for me, for example
with a web application and code-behind classes.

Now I've just been handed a solution which uses many partial classes -
and the first thing that strikes me is "where's the rest of the class
then?". I haven't looked at the code in-depth, so maybe there's a good
reason behind their use here (something with LINQ I think, but I'm not
up to speed with LINQ either).


/Peter
 
Hi Peter,

I only use partial classes that are supported by a tool, like Visual Studio.
Other than that, I never use them in normal development - i.e. I'd never
create a partial class myself. This is just my personal preference and
opinion, but my concerns about introducing partial types that aren't tool
generated are (1) it's easy for the partial class to take on too many
responsibilities, (2) multiple developers adding code that causes a
hard-to-find bug, and (3) difficulty in maintenance because related code is
in different files.

Joe
http://www.csharp-station.com
 
Although I do myself sometimes find myself with a valid very large class, it
is also an indication that your class is taking on too much responsibility.

Just thought I'd mention it :-)
 
Peter said:
what is the general consensus about partial classes. I have only ever
used them where they are automatically generated for me, for example
with a web application and code-behind classes.

Now I've just been handed a solution which uses many partial classes -
and the first thing that strikes me is "where's the rest of the class
then?".

I would consider multiple files manually maintained to be
a problem.

The feature was added for code generation and should only
be used for that.

Arne
 
Peter said:
what is the general consensus about partial classes

Thanks for the replies. I think for my own work I'll leave partial
classes up to automatic tools - and won't be creating any manually.
I've never had to create really huge classes myself, so never run into
the possibility of deciding to split it up into partial classes.

I'll need to dig deeper into the current project I have to find out why
there are partial classes (none are very big); maybe they were
generated automatically - but there is no nice display of them in in
Visual Studio, like with code-behind files, .ascx files and "designer"
files.

Actually, is it possible to get Visual Studio to find and group all
related partial files for a partial class?

Thanks,
Peter
 
Actually, is it possible to get Visual Studio to find and group all
related partial files for a partial class?

Group, no. Find, yes. Well, basically: you could just search for the whole
word "partial."
 
Back
Top