48 lines
No EOL
1.2 KiB
C#
48 lines
No EOL
1.2 KiB
C#
using JD.Kernel.StaticHelpers;
|
|
|
|
namespace JD.TeaBoxAddinSystem.Addins.Description.Conditions
|
|
{
|
|
/// <summary>
|
|
/// A condition that implements the NOT operator.
|
|
/// </summary>
|
|
internal class NotCondition : CompositeCondition
|
|
{
|
|
#region Constructor
|
|
|
|
/// <summary>
|
|
/// Constructor.
|
|
/// </summary>
|
|
/// <param name="innerCondition"></param>
|
|
public NotCondition(Condition innerCondition)
|
|
: base(innerCondition)
|
|
{
|
|
Throw.IfNull(innerCondition, "innerCondition");
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
/// <summary>
|
|
/// Overriden.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override bool Evaluate()
|
|
{
|
|
System.Diagnostics.Debug.Assert(InnerConditions.Length == 1);
|
|
return !InnerConditions[0].Evaluate();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Overriden.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override string ToString()
|
|
{
|
|
System.Diagnostics.Debug.Assert(InnerConditions.Length == 1);
|
|
return $"!{InnerConditions[0]}";
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |