Property interception within DevForce is accomplished by dynamically generating compiled lamda expressions for each interceptor action. DevForce interceptors are discovered (but not compiled) as each entity class is first referenced. Runtime compilation of each property interceptor occurs lazily the first time each property is accessed. After this first access, the entire code path for each property access is fully compiled. Properties that are never accessed do not require compilation. The addition or removal of interceptor actions after they have been compiled does require a new compilation the next time the property is executed. This happens automatically.
Errors encountered during the compilation process will thus appear when a property is accessed for the first time. These exceptions will be of type PropertyInterceptorException and will contain information on the specific method that could not be compiled into a property interceptor action. These are usually a function of a PropertyInterceptorArgs parameter type that is not compatible with the property or properties being accessed.