# Class MetadataSource
Namespace: [Aeon.Acquisition](Aeon.Acquisition.md)
Assembly: Aeon.Acquisition.dll
```csharp
[Combinator]
[WorkflowElementCategory(ElementCategory.Source)]
public abstract class MetadataSource
```
#### Type Parameters
`TMetadata`
#### Inheritance
[object](https://learn.microsoft.com/dotnet/api/system.object) ←
[MetadataSource](Aeon.Acquisition.MetadataSource\-1.md)
#### Inherited Members
[object.ToString\(\)](https://learn.microsoft.com/dotnet/api/system.object.tostring),
[object.Equals\(object\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\)),
[object.Equals\(object, object\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\-system\-object\)),
[object.ReferenceEquals\(object, object\)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals),
[object.GetHashCode\(\)](https://learn.microsoft.com/dotnet/api/system.object.gethashcode),
[object.GetType\(\)](https://learn.microsoft.com/dotnet/api/system.object.gettype),
[object.MemberwiseClone\(\)](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone)
## Methods
### OnNext\(TMetadata\)
```csharp
public void OnNext(TMetadata value)
```
#### Parameters
`value` TMetadata
### Process\(\)
```csharp
public virtual IObservable Process()
```
#### Returns
[IObservable](https://learn.microsoft.com/dotnet/api/system.iobservable\-1)
### Process\(IObservable\)
```csharp
public virtual IObservable> Process(IObservable source)
```
#### Parameters
`source` [IObservable](https://learn.microsoft.com/dotnet/api/system.iobservable\-1)
#### Returns
[IObservable](https://learn.microsoft.com/dotnet/api/system.iobservable\-1)\>