mirror of
https://github.com/KevinWG/OSS.Tools.git
synced 2026-10-21 08:46:00 +08:00
29 lines
755 B
C#
29 lines
755 B
C#
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace OSS.Tools.DataFlow
|
|
{
|
|
internal interface ISubscriberWrap
|
|
{
|
|
Task<bool> Subscribe(object data);
|
|
}
|
|
|
|
internal class InterDataSubscriberWrap<TData>: ISubscriberWrap
|
|
{
|
|
private readonly IDataSubscriber<TData> _subscriber;
|
|
internal InterDataSubscriberWrap(Func<TData, Task<bool>> subscribeFunc)
|
|
{
|
|
_subscriber = new InterDataSubscriber<TData>(subscribeFunc);
|
|
}
|
|
|
|
internal InterDataSubscriberWrap(IDataSubscriber<TData> subscribe)
|
|
{
|
|
_subscriber = subscribe;
|
|
}
|
|
|
|
Task<bool> ISubscriberWrap.Subscribe(object data)
|
|
{
|
|
return _subscriber.Subscribe((TData)data);
|
|
}
|
|
}
|
|
} |