OfClass Method


Applies an ElementClassFilter to the collector.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2011

Syntax

C#
public FilteredElementCollector OfClass(
	Type type
)
Visual Basic
Public Function OfClass ( _
	type As Type _
) As FilteredElementCollector
Visual C++
public:
FilteredElementCollector^ OfClass(
	Type^ type
)

Parameters

type
Type: System Type
The element type.

Return Value

A handle to this collector. This is the same collector that has just been modified, returned so you can chain multiple calls together in one line.

Remarks

Only elements whose class is an exact match to the input class, or elements whose type is derived from the input class will pass the collector.

There is a small subset of Element subclasses in the API that are not supported by this filter. These classes exist in the API, but not in Revit's native object model, which means that this filter doesn't support them. In order to use a class filter to find elements of these types, it is necessary to use a higher level class and then process the results further to find elements matching only the subclass. For a list of subclasses affected by this restriction, consult the documentation for ElementClassFilter.

If you have an active iterator to this collector it will be stopped by this call.

Examples

Copy C#
// Use OfClass method to apply an ElementClassFilter and find Levels in the document
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<Element> levels = collector.OfClass(typeof(Level)).ToElements();
Copy VB.NET
' Use OfClass method to apply an ElementClassFilter and find Levels in the document
Dim collector As New FilteredElementCollector(document)
Dim levels As ICollection(Of Element) = collector.OfClass(GetType(Level)).ToElements()

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException The input type is not a subclass of Element. -or- The input type is of an element type that exists in the API, but not in Revit's native object model.
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was NULL

See Also