не удается получить доступ к удаленному объекту в c#
не удается получить доступ к удаленному объекту в c#
Sergey Alexandrovich Kryukov
не вопрос
Sandeep Mewara
Это что, вопрос?
не вопрос
Это что, вопрос?
Это означает, что вы закрыли любую форму, а затем программа не может получить доступ к форме, которая удалена. Если нет информации вы можете написать это:
...{
[Форма] Ф = новый [ваша форма];
если(f.IsDisposed){
f = новая [ваша форма];
}
Ф.Показать();
}
иначе имея информацию запишите ее в любой файл и запишите в него:
Системы.ИО.Система модулю записи StreamWriter ув =.ИО.Файл.CreateText(@"ваш путь\\...\\ваш файл.ваш тип файла");
если вы не хотите писать информацию в новой строке
ув.Писать();
еще
ув.Метода WriteLine();
Осознали ли вы, что первоначальному вопросу уже почти 7 лет ? Считаете ли вы, что это все еще актуальная проблема ?
Другими словами, вы не можете использовать отброшенный объект. Это выглядит справедливым для меня: вы должны спросить себя, зачем вам нужен уже утилизированный объект, или почему вы выбросили объект, если он вам все еще нужен.
:)
Это правильно (мой 5), но, как я объяснил в своем ответе, он не должен препятствовать "доступу" к объекту.
Избавление от объекта не имеет ничего общего с его доступностью. На самом деле объекты даже не делятся на утилизируемые и не утилизируемые.
Метод <code>Dispose
само по себе не имеет предопределенного значения, кроме использования в "using
"построить, только если этот метод записан как реализация IDisposable.Dispose
.
Стандартная цель Dispose
это 1) Очистка неуправляемых ресурсов, 2) вызов IDisposable.Dispose
других объектов, таким образом располагая цепочку связанных объектов некоторой иерархии объектной модели (типичный пример: System.Windows.Forms.Form
); конечная цель такой цепочки вызовов - опять же-очистка связанных неуправляемых ресурсов.
Там могут быть некоторые другие виды использования интерфейса и его реализации, главным образом благодаря "using
- построить функциональность. Забавный пример см. в моей статье "советы и рекомендации" (и альтернативные советы на той же странице; они хороши): Курсор мыши в песочных часах всегда возвращается к исходному изображению. Как же так?[^].
Это должно объяснить цель использования и тот факт, что оно не может повлиять на доступность какого-либо объекта. Может быть, вопрос был вызван какой-то другой несвязанной проблемой, которая была неправильно истолкована.
@surucha18: если вы все еще не поняли, что случилось, вам нужно опубликовать свой код-мы узнаем об этом в кратчайшие сроки. Не веская причина голосовать "3" (я не говорил, что вы голосовали, я не знаю, кто.)
Есть 5. :-)
google с ключевыми словами
в C# распорядиться
и вы обнаружите, что причина использования Dispose заключается в том, чтобы очистить некоторые вещи (как объяснил Сакрюков), и поэтому вы не можете получить доступ к удаленному объекту.
Я не думаю, что есть причина не обращаться к какому-либо объекту (кроме небрежности: -) только потому, что кто-то вызвал Dispose. Если объект не функционирует, это другой вопрос-тогда проблема в терминологии - "доступ".