Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using partial classes

Is there any overhead using partial classes in case of memory, performance etc?

If we create a partial class can we identify whether the class was partial or not using reflector??

like image 238
rahul Avatar asked Jun 26 '09 11:06

rahul


2 Answers

No. They are compiled to the same IL as if they weren't partial. It's a purely compile-time thing - the CLR doesn't even know that they were ever partial.

Note that with partial methods introduced into C# 3, the method doesn't even get emitted in the IL unless it's implemented in one of the files. Both the calls and the declaration get stripped out by the compiler.

It's possible that it'll slow down the compiler an imperceptible fraction of a millisecond, of course :)

like image 152
Jon Skeet Avatar answered Oct 10 '22 08:10

Jon Skeet


No, all class files will get consolidated at compile time.

Here's the msdn article on partial types.

Each source file contains a section of the type or method definition, and all parts are combined when the application is compiled.

like image 41
Joseph Avatar answered Oct 10 '22 08:10

Joseph