Table of Contents

Class JsonRpcProxyInterfaceGroupAttribute

Namespace
Nerdbank.JsonRpc
Assembly
Nerdbank.JsonRpc.dll

Specifies the additional interfaces implemented by one source-generated proxy for the annotated contract.

[AttributeUsage(AttributeTargets.Interface, Inherited = false, AllowMultiple = true)]
public sealed class JsonRpcProxyInterfaceGroupAttribute : Attribute
Inheritance
JsonRpcProxyInterfaceGroupAttribute
Inherited Members

Remarks

The annotated interface is always included. Each distinct group generates one proxy class. When any groups are declared, only those groups are generated; use an empty group to request a base-only proxy. Without groups, a base-only proxy is generated, together with a full optional-interface proxy for marshalable contracts. On a marshalable contract, additional interfaces must be declared with RpcMarshalableOptionalInterfaceAttribute.

Constructors

JsonRpcProxyInterfaceGroupAttribute(params Type[])

Initializes a new instance of the JsonRpcProxyInterfaceGroupAttribute class.

public JsonRpcProxyInterfaceGroupAttribute(params Type[] additionalInterfaces)

Parameters

additionalInterfaces Type[]

The additional interfaces included alongside the annotated contract.

Exceptions

ArgumentNullException

Thrown when additionalInterfaces is null.

ArgumentException

Thrown when an entry is null or is not an interface.

Properties

AdditionalInterfaces

Gets the additional interfaces included alongside the annotated contract.

public IReadOnlyList<Type> AdditionalInterfaces { get; }

Property Value

IReadOnlyList<Type>