Filters can be used to describe which types and members to reflect.
Overview
The following figure shows all types related to the filter system of NReflect:

Figure 1:
Class diagram showing the filters supplied with NReflect.
A filter implements the NReflect.Filter.IFilter interface.
Creating a new filter
If you want to create your own filter, just implement the interface NReflect.Filter.IFilter and provide an instance of your type to the Reflector.Reflect(String, IFilter, Boolean) method. While reflecting, the methods will be called for every type and member to reflect.
Supplied filters
The following three filters are supplied with NReflect:
Supplied filters
Filter name | Description |
---|---|
NReflect.Filter.ReflectAllFilter | The most easy filter supplied is this one: If used, it will reflect everything without any exception. |
NReflect.Filter.IncludeFilter | This filter takes a set of rules to determine which type and element to reflect. Each rule is an instance of the type NReflect.Filter.FilterRule. |
NReflect.Filter.InvertFilter | This filter inverts the results of another filter. |
NReflect.Filter.StatisticFilter | This filter doesn't filter anything. It just counts the occurrence of each entity and member. Like the InvertFilter, this filter needs another filter to work. After reflection is done, one can get the statistcs values by accessing the properties of the NReflect.Filter.StatisticFilter. |
See Also