NullReferenceException при получении параметра

Автор Тема: NullReferenceException при получении параметра  (Прочитано 2412 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн asiaАвтор темы

  • ADN OPEN
  • Сообщений: 27
  • Карма: 0
На активном виде пытаюсь получить параметр элемента (потом хочу записать туда другое значение). Но получается так, что после выполнения данного кода я получаю сообщение со значением параметра, как и должно быть, а когда его закрываю, на p.AsValueString() вылетает ошибка System.NullReferenceException. В чем может быть проблема?
Код - C# [Выбрать]
  1. FilteredElementCollector coll = new FilteredElementCollector(doc, doc.ActiveView.Id);
  2. ICollection<Element> elems = coll.OfCategory(BuiltInCategory.OST_GenericAnnotation).ToElements();
  3. using (Transaction tx = new Transaction(doc))
  4. {
  5.          tx.Start("Update param");
  6.          foreach (Element el in elems)
  7.          {
  8.               if (el.Name.Equals("North symbol"))
  9.               {
  10.                    try
  11.                    {
  12.                         Parameter p = el.LookupParameter("North angle");
  13.                         TaskDialog.Show("parameter value", p.AsValueString());
  14.                    }
  15.                     catch (Exception e)
  16.                     {
  17.                          message = e.Message;
  18.                          return Result.Failed;
  19.                     }
  20.               }
  21.          }
  22.          tx.Commit();
  23. }






Оффлайн inferi666

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
"North angle" параметр типа или экземпляра?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Отладчиком пробовал смотреть?

а когда его закрываю
его - это кого?

Да, ещё, кстати, doc.ActiveView может быть, например, видом диспетчера проектов. Лучше взамен использовать UIDocument.ActiveGraphicalView
Цитировать
The currently active graphical view of the currently active document.