Class ContractDescriptorFactory
- Namespace
- AnyProtocol
- Assembly
- AnyProtocol.dll
Creates contract descriptor instances.
public sealed class ContractDescriptorFactory
- Inheritance
-
ContractDescriptorFactory
- Inherited Members
Constructors
ContractDescriptorFactory(string)
Initializes a new instance of the ContractDescriptorFactory class.
public ContractDescriptorFactory(string channelPrefix = "anyprotocol")
Parameters
channelPrefixstringThe channel prefix.
Methods
Create(Type)
Creates .
[RequiresDynamicCode("Runtime contract discovery uses reflection. Use source-generated descriptors for Native AOT.")]
[RequiresUnreferencedCode("Runtime contract discovery requires contract method metadata.")]
public ContractDescriptor Create(Type contractType)
Parameters
contractTypeTypeThe contract type.
Returns
- ContractDescriptor
The result of the create operation.
CreateGenerated(Type)
Creates generated.
public ContractDescriptor CreateGenerated(Type contractType)
Parameters
contractTypeTypeThe contract type.
Returns
- ContractDescriptor
The result of the create generated operation.
CreateRuntimeCompatible(Type)
Creates a contract descriptor while using generated metadata when runtime code generation is unavailable.
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Generated metadata is preferred and reflection is unreachable when dynamic code is disabled.")]
public ContractDescriptor CreateRuntimeCompatible(Type contractType)
Parameters
contractTypeTypeThe contract interface to describe.
Returns
- ContractDescriptor
The descriptor for the requested contract.
Create<TContract>()
Creates <t contract>.
[RequiresDynamicCode("Runtime contract discovery uses reflection. Use source-generated descriptors for Native AOT.")]
[RequiresUnreferencedCode("Runtime contract discovery requires contract method metadata.")]
public ContractDescriptor Create<TContract>()
Returns
- ContractDescriptor
The result of the create<t contract> operation.
Type Parameters
TContractThe contract type.