surucha18 Ответов: 4

не удается получить доступ к удаленному объекту в c#


не удается получить доступ к удаленному объекту в c#

Sergey Alexandrovich Kryukov

не вопрос

Sandeep Mewara

Это что, вопрос?

4 Ответов

Рейтинг:
2

TheFnafException

Это означает, что вы закрыли любую форму, а затем программа не может получить доступ к форме, которая удалена. Если нет информации вы можете написать это:
...{
[Форма] Ф = новый [ваша форма];
если(f.IsDisposed){
f = новая [ваша форма];
}
Ф.Показать();
}
иначе имея информацию запишите ее в любой файл и запишите в него:


Системы.ИО.Система модулю записи StreamWriter ув =.ИО.Файл.CreateText(@"ваш путь\\...\\ваш файл.ваш тип файла");
если вы не хотите писать информацию в новой строке
ув.Писать();
еще
ув.Метода WriteLine();


Ralf Meier

Осознали ли вы, что первоначальному вопросу уже почти 7 лет ? Считаете ли вы, что это все еще актуальная проблема ?

Рейтинг:
1

CPallini

Другими словами, вы не можете использовать отброшенный объект. Это выглядит справедливым для меня: вы должны спросить себя, зачем вам нужен уже утилизированный объект, или почему вы выбросили объект, если он вам все еще нужен.

:)


Sergey Alexandrovich Kryukov

Это правильно (мой 5), но, как я объяснил в своем ответе, он не должен препятствовать "доступу" к объекту.

Рейтинг:
1

Sergey Alexandrovich Kryukov

Избавление от объекта не имеет ничего общего с его доступностью. На самом деле объекты даже не делятся на утилизируемые и не утилизируемые.

Метод <code>Dispose само по себе не имеет предопределенного значения, кроме использования в "using"построить, только если этот метод записан как реализация IDisposable.Dispose.

Стандартная цель Dispose это 1) Очистка неуправляемых ресурсов, 2) вызов IDisposable.Dispose других объектов, таким образом располагая цепочку связанных объектов некоторой иерархии объектной модели (типичный пример: System.Windows.Forms.Form); конечная цель такой цепочки вызовов - опять же-очистка связанных неуправляемых ресурсов.

Там могут быть некоторые другие виды использования интерфейса и его реализации, главным образом благодаря "using- построить функциональность. Забавный пример см. в моей статье "советы и рекомендации" (и альтернативные советы на той же странице; они хороши): Курсор мыши в песочных часах всегда возвращается к исходному изображению. Как же так?[^].

Это должно объяснить цель использования и тот факт, что оно не может повлиять на доступность какого-либо объекта. Может быть, вопрос был вызван какой-то другой несвязанной проблемой, которая была неправильно истолкована.


Sergey Alexandrovich Kryukov

@surucha18: если вы все еще не поняли, что случилось, вам нужно опубликовать свой код-мы узнаем об этом в кратчайшие сроки. Не веская причина голосовать "3" (я не говорил, что вы голосовали, я не знаю, кто.)

CPallini

Есть 5. :-)

Рейтинг:
0

Thomas Krojer

google с ключевыми словами

в C# распорядиться

и вы обнаружите, что причина использования Dispose заключается в том, чтобы очистить некоторые вещи (как объяснил Сакрюков), и поэтому вы не можете получить доступ к удаленному объекту.


Sergey Alexandrovich Kryukov

Я не думаю, что есть причина не обращаться к какому-либо объекту (кроме небрежности: -) только потому, что кто-то вызвал Dispose. Если объект не функционирует, это другой вопрос-тогда проблема в терминологии - "доступ".