# Microsoft.Orleans.Serialization.Abstractions

10.0.0 | net10.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Serialization.Abstractions)

## Orleans

- [AliasAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.aliasattribute/) - When applied to a type or method, specifies a well-known name which can be used to identify that type or method.
- [ApplicationPartAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.applicationpartattribute/) - Specifies an assembly to be added as an application part.
- [CompoundTypeAliasAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.compoundtypealiasattribute/) - When applied to a type, indicates that the type should be encoded as a relation from a specified type.
- [DefaultInvokableBaseTypeAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.defaultinvokablebasetypeattribute/) - Applied to proxy base types and to attribute types used on invokable interface methods to specify the base type for the invokable object which represents a method call.
- [DefaultInvokeMethodNameAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.defaultinvokemethodnameattribute/) - Applied to proxy base types and to attribute types used on invokable interface methods to specify the base type for the invokable object which represents a method call.
- [GenerateCodeForDeclaringAssemblyAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.generatecodefordeclaringassemblyattribute/) - Indicates that the source generator should also inspect and generate code for the assembly containing the specified type.
- [GeneratedActivatorConstructorAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.generatedactivatorconstructorattribute/) - When applied to a constructor, indicates that generated activator implementations should use that constructor when activating instances.
- [GenerateFieldIds](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.generatefieldids/) - This enum provides options for controlling the field id generation logic.
- [GenerateMethodSerializersAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.generatemethodserializersattribute/) - When applied to an interface, specifies that support code should be generated to allow remoting of interface calls.
- [GenerateSerializerAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.generateserializerattribute/) - When applied to a type, specifies that the type is intended to be serialized and that serialization code should be generated for the type.
- [GetCompletionSourceMethodNameAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.getcompletionsourcemethodnameattribute/) - Applied to method attributes on invokable interfaces to specify the name of the method to call to get a completion source which is submitted to the submit method and eventually returned to the caller.
- [IConverter&lt;TValue, TSurrogate&gt;](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.iconverter-2/) - Functionality for converting between two types.
- [IdAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.idattribute/) - Specifies the unique identity of a member.
- [ImmutableAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.immutableattribute/) - Indicates that the type, type member, parameter, or return value which it is applied to should be treated as immutable and therefore that defensive copies are never required. When applied to non-sealed classes, derived types are not guaranteed to be immutable.
- [InvokableBaseTypeAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.invokablebasetypeattribute/) - Applied to attribute types used on invokable interface methods to specify the base type for the invokable object which represents a method call.
- [InvokableCustomInitializerAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.invokablecustominitializerattribute/) - Applied to interface method attribute types to specify a method to be called on invokable objects which are created when invoking that interface method.
- [InvokeMethodNameAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.invokemethodnameattribute/) - Applied to method attributes on invokable interfaces to specify the name of the method on the base type to call when submitting a request.
- [IPopulator&lt;TValue, TSurrogate&gt;](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.ipopulator-2/) - Functionality for populating one type from another.
- [OmitDefaultMemberValuesAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.omitdefaultmembervaluesattribute/) - When applied to a type, indicates that generated serializers for the type should avoid serializing members if the member value is equal to its default value.
- [OrleansConstructorAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.orleansconstructorattribute/) - Specifies the constructor the serializer should use when creating new instances from serialized data.
- [RegisterActivatorAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registeractivatorattribute/) - When applied to a type, indicates that the type is an activator and that it should be automatically registered.
- [RegisterConverterAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registerconverterattribute/) - When applied to a type, indicates that the type is a converter and that it should be automatically registered.
- [RegisterCopierAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registercopierattribute/) - When applied to a type, indicates that the type is an copier and that it should be automatically registered.
- [RegisterProviderAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registerproviderattribute/) - When applied to a type, indicates that the type is a provider and that it should be automatically registered.
- [RegisterSerializerAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.registerserializerattribute/) - When applied to a type, indicates that the type is a serializer and that it should be automatically registered.
- [ResponseTimeoutAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.responsetimeoutattribute/) - Specifies the response timeout for the interface method which it is specified on.
- [SerializationCallbacksAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.serializationcallbacksattribute/) - Specifies a type to be instantiated and invoked when performing serialization operations on instances of the type which this attribute is attached to.
- [SerializerTransparentAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.serializertransparentattribute/) - Indicates that the specific type is invisible for serialization purposes. Usable only on abstract types with no serialized fields and effectively removes it from the inheritance hierarchy. Adding/removing this attribute from a type will cause serialization protocol level incompatibility (like type hierarchy changes).
- [SuppressReferenceTrackingAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.suppressreferencetrackingattribute/) - When applied to a type, indicates that generated serializers for the type should not track references to the type.
- [UseActivatorAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.useactivatorattribute/) - When applied to a type, indicates that the type should be activated using a registered activator rather than via its constructor or another mechanism.

## Orleans.Invocation

- [ReturnValueProxyAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.invocation.returnvalueproxyattribute/) - Applied to invokable base types (see TaskRequest) to indicate that instances of derived types should be returned directly from generated proxy methods rather than being passed to the runtime for invocation. This is used to support calling patterns other than request-response, such as streaming.

## Orleans.Metadata

- [FrameworkPartAttribute](/orleans/docs/api/csharp/microsoft.orleans.serialization.abstractions/orleans.metadata.frameworkpartattribute/) - Specifies that an assembly does not contain application code.
