2010-12-14 6 views
0

J'ai une question sur .Net CF 3.5 Reflection.I am invoquait la méthode de quelque chose prévu comme celui-ci,paramètre de réglage invoqué Méthode

 object n= instance.Type.GetMethod("DoSome" 
      ).Invoke(instance.Instance, 
      new object[] { commandKeys } 
      ); 

commandKey est ma liste de paramètres, instance.Type et instance.Instance est non nul . Les méthodes invoquent normalement mais, quand je définis une propriété (appartient à ce que j'appelle la classe) dans la méthode "DoSome", la propriété n'a pas de valeur (valeur par défaut).

public class CSet:ITask 
{ 
    public void DoSome 
{ 
    SomeProperty=true; 
    OnTaskCompleted(this); 


} 
} 

Je suis attrapais délégué "OnTaskCompleted" qui contient l'interface "ITask" mais comme je l'ai dit ITask SomeProperty n'a pas ma valeur donnée

Thx vos réponses.

Répondre

0

Vous dites que les "méthodes invoquent normalement", mais en même temps vous prétendez que le code à l'intérieur de la méthode n'est pas exécuté. Comment savez-vous que la méthode est invoquée du tout?

Etes-vous sûr que instance.Instace est la même instance que vous cochez SomeProperty et que vous saisissez OnTaskCompleted?

+0

Je n'ai pas dit "méthode non exécutée" .Method invoque, mais dans la méthode invoke je mets une propriété après que je vois la propriété n'a pas ma valeur donnée, elle n'a pas changé.Aussi je suis sûr que instance.Instace est même que invoque toutes les opérations. –

Questions connexes