2009-06-26 13 views
9

¿Hay algún gasto indirecto que utilice clases parciales en caso de memoria, rendimiento, etc.?Uso de clases parciales

Si creamos una clase parcial, ¿podemos identificar si la clase era parcial o no utilizando el reflector?

Respuesta

16

No. Se compilan en la misma IL como si no fueran parciales. Es puramente en tiempo de compilación: el CLR ni siquiera sabe que alguna vez fueron parciales.

Tenga en cuenta que con partial methods introduce en C# 3, el método no incluso conseguir emite en la IL menos que se implementa en uno de los archivos. Tanto las llamadas como la declaración son eliminadas por el compilador.

Es posible que va a ralentizar el compilador de una fracción imperceptible de una milésima de segundo, por supuesto :)

+0

Si creamos una clase parcial, ¿podemos identificar si la clase fue parcial o no utilizando el reflector? – rahul

+2

Parcial es muy parecido al espacio en blanco, solo con un EOF involucrado. El compilador lo analiza, pero después de eso no hay ningún rastro que haya existido. –

+1

@Phoenix: No. La única vez que podría averiguarlo sería si tiene símbolos de depuración para analizar, y descubrió que parte del código proviene de un archivo y parte de otro. –

3

No, todos los archivos de clase se consolidarán en tiempo de compilación.

Aquí está el msdn article en tipos parciales.

Cada archivo fuente contiene una sección del tipo o la definición del método, y todas las partes se combinan cuando se compila la aplicación.

2

No. Ellos se compilan en una clase. Es puramente una característica del lenguaje.

Cuestiones relacionadas