Files
SteamTools/System.Application.SteamTools.Client.Desktop/Extensions/ViewModelExtensions.cs
T
Aigio Liu 4024236000 fix
2021-03-03 20:53:36 +08:00

28 lines
810 B
C#

using System.Application.UI.ViewModels;
namespace System.Application
{
public static class ViewModelExtensions
{
/// <summary>
/// <see cref="IDisposable"/> 将对象添加到<see cref="ViewModelBase"/> 的<see cref="ViewModelBase.CompositeDisposable"/>中
/// </summary>
public static T AddTo<T>(this T disposable, ViewModelBase vm) where T : IDisposable
{
if (vm == null)
{
disposable.Dispose();
return disposable;
}
if (vm.CompositeDisposable == null)
{
throw new ArgumentNullException(nameof(ViewModelBase.CompositeDisposable));
}
vm.CompositeDisposable.Add(disposable);
return disposable;
}
}
}