PostSharpAPI ReferencePost­Sharp.​Patterns.​Dynamic­AdvisingDynamic­Advising­ServicesQuery­Interface
Open sandboxFocus

DynamicAdvisingServices.QueryInterface Method

QueryInterface<T>(Object, Boolean)

Gets the implementation of a specified interface for the specified object.

Declaration
public static T QueryInterface<T>(object obj, bool throwing = true)
where T : class
Parameters
Type Name Description
Object obj

The object for which the interface should be queried.

Boolean throwing

true if the method should throw a InvalidCastException if obj does not implement the T interface, false if null be returned instead. The default value is true.

Returns
Type Description
T

An object implementing the T interface on behalf of obj, or null if obj does not implement T and throwing is true.

Type Parameters
Name Description
T

The type of the required interface.

Remarks

This method shall return obj if the type of obj statically implements the interface. Otherwise, the method shall return another object that implements T on behalf of obj. In this case, the returned object shall implement the IDynamicInterfaceImplementation interface, which allows to navigate back to obj.