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
additionalInterfacesType[]The additional interfaces included alongside the annotated contract.
Exceptions
- ArgumentNullException
Thrown when
additionalInterfacesis 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; }