2011-08-05 4 views
14

J'apprends actuellement C# avec le livre intitulé Beginning Visual C# 2010 et je suis dans le chapitre qui traite des différents aspects et caractéristiques des méthodes partielles et des classes.Pourquoi les méthodes partielles doivent-elles être annulées?

Pour citer le livre:

Tenir compte à ce stade pourquoi les méthodes partielles ne peuvent pas avoir un type de retour. Si vous pouvez répondre à votre propre satisfaction, vous pouvez être sûr que vous comprenez parfaitement ce sujet - qui est laissé comme un exercice pour vous «

C'est là que je suis bloqué La seule raison.. ce que je peux penser est que quand la valeur de retour de la méthode est assignée à quelque chose dans le code, il génèrerait une erreur s'il n'y a aucune définition implémentée pour la méthode partielle

Quelqu'un peut-il effacer ce sujet pour moi s'il vous plaît?

+2

Oui, vous avez raison, c'est pourquoi :) –

+0

Est-ce un double, http://stackoverflow.com/q/2088265/659190 – Jodrell

+0

@Jodrell Non, alors que cette question peut alimenter l'autre, l'autre est certainement plus large (Et c'est la première version de cette question spécifique que je peux voir) –

Répondre

18

Parce que les appels à eux ne peuvent pas être éliminés du code appelant dans le cas où ils ne sont pas implémentés ted sans le casser.

Exemple:

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

Indicatif téléphonique:

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

Il en va de même pour les méthodes décorées avec le 'ConditionalAttribute'. – leppie

+0

Merci, on dirait que j'étais plus ou moins juste par moi-même. – Gasoline

+0

@Jodrell, ils n'affectent pas l'évaluation de l'autre, ils sont tous deux examinés à partir du code d'un autre appel. – Grozz

Questions connexes