PostSharp 6.7 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Patterns.​Dynamic­Advising Namespace / Dynamic­Advising­Services Class / Dynamic­Advising­Services Methods / Dynamic­Advising­Services.​Query­Interface(T) Method

DynamicAdvisingServices.QueryInterface<T> Method

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

Namespace:  PostSharp.Patterns.DynamicAdvising
Assembly:  PostSharp.Patterns.Common (in PostSharp.Patterns.Common.dll) Version: 6.7.12.0 (6.7.12.0)
Syntax
C#
public static T QueryInterface<T>(
	Object obj,
	bool throwing = true
)
where T : class

Parameters

obj
Type: System.Object
The object for which the interface should be queried.
throwing (Optional)
Type: System.Boolean
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.

Type Parameters

T
The type of the required interface.

Return Value

Type: T
An object implementing the T interface on behalf of obj, or null if obj does not implement T and throwing is true.
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.

See Also