1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-10-31 16:02:29 +01:00
Sonarr/NzbDrone.Common/EnsureThat/Ensure.cs

27 lines
728 B
C#

using System;
using System.Linq.Expressions;
namespace NzbDrone.Common.EnsureThat
{
public static class Ensure
{
public static Param<T> That<T>(T value, string name = Param.DefaultName)
{
return new Param<T>(name, value);
}
public static Param<T> That<T>(Expression<Func<T>> expression)
{
var memberExpression = expression.GetRightMostMember();
return new Param<T>(
memberExpression.ToPath(),
expression.Compile().Invoke());
}
public static TypeParam ThatTypeFor<T>(T value, string name = Param.DefaultName)
{
return new TypeParam(name, value.GetType());
}
}
}