2010-12-14 8 views
0

У меня есть вопрос о .Net CF 3.5 Reflection.I я вызова ожидаемый метод что-то вроде этого,параметр настройки вызывается метод

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

commandKey мой список параметров, instance.Type и instance.Instance не является нулевым , Обычно методы запускаются, но когда я устанавливаю какое-либо свойство (принадлежащее классу класса), в методе «DoSome», свойство dont имеет значение (значение по умолчанию).

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


} 
} 

Я ловя «OnTaskCompleted» делегат, который содержит интерфейс «ITask», но, как я сказал ITask SomeProperty не мое данное значение

Thx ваши ответы.

ответ

0

Вы говорите, что «Методы запускаются нормально», но в то же время вы утверждаете, что код внутри метода не выполняется. Как вы знаете, что метод вызывается вообще?

Вы уверены, что instance.Instace - тот же экземпляр, который вы проверяете SomeProperty, и поймаете OnTaskCompleted?

+0

Я не сказал «метод не выполнен». Метод вызывает, но в методе invoke я устанавливаю свойство после этого, я вижу, что свойство не имеет моего заданного значения, оно не изменено. Также я уверен, что экземпляр. все вызывают операцию. –

Смежные вопросы