2011-08-05 17 views
14

Actualmente estoy aprendiendo C# con el libro llamado Beginning Visual C# 2010 y estoy en el capítulo que analiza diferentes aspectos y características de los métodos parciales y las clases.¿Por qué los métodos parciales deben ser anulados?

Para citar el libro:

Considérese en este momento por qué los métodos parciales no pueden tener un tipo de retorno. Si puede contestar que a su propia satisfacción, puede estar seguro de que usted entiende completamente este tema - de manera que se deja como ejercicio para usted "

Aquí es donde se queda bloqueado La única razón.. que puedo pensar es que cuando el valor de retorno del método se asigna a algo en el código, generaría un error si no hay una definición implementada para el método parcial.

¿Alguien puede borrar este tema por favor?

+2

Sí, estás en lo correcto, por eso :) –

+0

Es éste un duplicado, http://stackoverflow.com/q/2088265/659190 – Jodrell

+0

@Jodrell No, mientras que esta pregunta puede alimentar a la otra, la otra es definitivamente más amplia (Y esta es la primera versión de esta pregunta específica que puedo ver) –

Respuesta

18

Porque las llamadas a ellos no se pueden eliminar del código de llamada en caso de que no se implementen ted sin romperlo.

Ejemplo:

partial void foo(); 
partial int bar(); 

Prefijo telefónico:

... 
foo(); // successfully removed if foo isn't implemented 
int x = bar() * 2; // what to do here? 
Console.WriteLine(x); 
+2

Lo mismo ocurre con los métodos decorados con 'ConditionalAttribute'. – leppie

+0

Gracias, parece que estaba más o menos en lo cierto también. – Gasoline

+0

@Jodrell, no afectan la evaluación de los demás, ambos se examinan desde el punto de otro código de llamada. – Grozz

Cuestiones relacionadas