的HOSTID返回我有下面的代碼片斷:NULL指針通過詢問用於門
var familyInstanceFilter = new ElementClassFilter(typeof(FamilyInstance));
var doorsCategoryfilter = new ElementCategoryFilter(BuiltInCategory.OST_Doors);
var doorInstancesFilter = new LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter);
List<Element> doors = new FilteredElementCollector(doc)
.WherePasses(doorInstancesFilter)
.ToList();
FamilyInstance doorFI = (FamilyInstance)doors[0];
ElementId wallid = doorFI.Symbol.get_Parameter(BuiltInParameter.HOST_ID_PARAM)
.AsElementId();
其中我嘗試以獲得含有門壁的ID。但是,如果我運行此代碼,那麼行ElementId wallid =doorFI.Symbol.get_Parameter(BuiltInParameter.HOST_ID_PARAM).AsElementId();
會引發空指針異常。我已經檢查過,有問題的門確實在牆內,應該有一個父對象。
我正在運行的測試場景是一個簡單的2個房間,它們之間有一個門的測試用例。
請注意,我知道什麼是空引用expcetion,我知道doorFI.Symbol.get_Parameter(BuiltInParameter.HOST_ID_PARAM)返回null,我想知道它爲什麼會返回null。 如果有什麼東西還不清楚,請隨時發表評論,以便我可以改善這個問題。
不應該'(FamilyInstance)門[0];'是'(FamilyInstance)門[0];'? – Martin
是的,你是正確的我改變了它。 – Thijser
[可能的重複[什麼是NullReferenceException,我該如何解決它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – HimBromBeere