Я испытываю что-то странное, и у меня уже есть обходной путь, но я не думаю, что хорошо это понял.
Если я несколько раз вызываю метод ниже в классе:
public void Method()
{
Foo a = new Foo();
a.Delegate1Handler = ViewSomething();
}
Если я вызываю Method () несколько раз в одном экземпляре класса, в котором он находится ... Я переинициализирую "a" каждый раз, но по какой-то причине a.Delegate1Handler
все еще находится рядом с предыдущей инициализацией, поэтому ViewSomething () вызывается снова и снова и снова ....
Я чувствую, что забыл здесь что-то критическое?
Кишки Фу выглядят так:
public delegate void Delegate1(T t);
public Delegate1 Delegate1Handler { get; set; }
РЕДАКТИРОВАТЬ: (обходной путь, который я вставил, описан ниже, но я до сих пор не понимаю точно, почему он так себя ведет) ->
Инициализировано «a», и его делегат1Handler находится вне «метода», где делегат1Handler инициализируется только один раз, а «а» может быть снова инициализировано - нет проблем! (или, может быть, это я не знаю)