Я довольно новичок в Xamarin и C# (однако, я знаю C ++ и Java, поэтому я до сих пор хорошо справлялся с последними). Я столкнулся с предупреждением при создании IOnCheckedChangedListener
для флажка, который я использую в своем (Android -) приложении.
До сих пор я создал простой класс OnCheckedChangedListener
, который наследуется от Java.lang.Object
и реализует IOnCheckedChangeListener
. Естественно, метод OnCheckedChanged()
также был реализован.
Я установил слушателя с помощью
OnCheckedChangedListener listener = new OnCheckedChangedListener();
checkBox.SetOnCheckedChangeListener(listener);
Пока все работает нормально, но я получаю предупреждение "Вызов System.IDisposable.Dispose для объекта, созданного функцией 'new OnCheckedChangedListener ()' до того, как все ссылки на него выйдут из области видимости. "
Я могу удалить это предупреждение, вызвав listener.Dispose()
после установки прослушивателя или оборачивая всю вещь (вещь как в создании слушателя и устанавливая это в флажке) в блок using
. Это избавляет от предупреждения, но приводит к ошибке времени выполнения при каждом вызове слушателя (я предполагаю, что это потому, что я фактически удалил слушателя, но программа все еще пыталась вызвать его).
Согласно на этот поток , на самом деле нет необходимости вызывать Dispose()
, но я бы очень хотел избавиться от предупреждения. Есть ли хороший способ избавиться от этого (оптимально без указания компилятора просто игнорировать его)?