Edit

Share via


ChannelBase.GetProperty<T> Method

Definition

Returns the typed object requested, if present, from the appropriate layer in the channel stack.

public:
generic <typename T>
 where T : class virtual T GetProperty();
public virtual T GetProperty<T> () where T : class;
abstract member GetProperty : unit -> 'T (requires 'T : null)
override this.GetProperty : unit -> 'T (requires 'T : null)
Public Overridable Function GetProperty(Of T As Class) () As T

Type Parameters

T

The typed object for which the method is querying.

Returns

T

The typed object T requested, if it is present, or null, if it is not.

Implements

Remarks

Use this to request a typed object such as an interface for setting properties or getting status from the appropriate layer in the channel stack. If a layer supports returning the requested object, it returns it. If not, it delegates the call down to the next layer in the stack. If it gets to the bottom of the stack and no channel layer supported the requested object, then the method returns null.

You must also make sure to override GetProperty whenever you implement a channel. GetProperty is an excellent way to communicate information along the channel stack without having to know what channels are below you, or what channels above you may perform queries. Define interfaces that can be queried for available information. Whenever you do not recognize the type argument for GetProperty, delegate down to the next channel in the stack or return null if you are creating a new transport channel at the bottom of the stack.

Applies to