Interface IASModel<TModel, TEntity, TBaseModel>
- Namespace
- ActivityPub.Types
- Assembly
- ActivityPub.Types.dll
Indicates that the class is a convertible ActivityStreams model that shadows a base type. The BaseTypeName property is automatically populated from
TBaseModel
.
If the base type does not have a type name, then the property is recursively populated from its base type.
public interface IASModel<out TModel, out TEntity, out TBaseModel> : IASModel<TModel, TEntity>, IASModel<TModel> where TModel : TBaseModel, IASModel<out TModel, out TEntity, out TBaseModel> where TEntity : ASEntity<out TModel, out TEntity> where TBaseModel : ASType, IASModel<out TBaseModel>
Type Parameters
TModel
Type of the implementing class (the type of this)
TEntity
Type of this model's entity
TBaseModel
The model's base type
- Inherited Members
Explicit Interface Implementations
IASModel<TModel>.BaseTypeName
AS type name of this entity's "base type". When this entity is added to the graph, the target type will be removed if present. This allows one entity type to "extend" another. This should be set to false for extension types.
[JsonIgnore]
static string? IASModel<out TModel>.BaseTypeName { get; }
Returns
Remarks
This has no effect unless ASTypeName is non-null.