Files
Umbraco-CMS/src/Umbraco.Core/Resolving/SingleResolverBase.cs

51 lines
903 B
C#
Raw Normal View History

2012-07-26 07:52:13 -02:00
using System;
namespace Umbraco.Core.Resolving
{
internal abstract class SingleResolverBase<TResolver, TResolved> : ResolverBase<TResolver>
where TResolver : class
where TResolved : class
2012-07-26 07:52:13 -02:00
{
TResolved _resolved;
readonly bool _canBeNull;
2012-07-26 07:52:13 -02:00
protected SingleResolverBase()
: this(false)
{ }
protected SingleResolverBase(TResolved value)
: this(false)
{
_resolved = value;
}
protected SingleResolverBase(bool canBeNull)
{
_canBeNull = canBeNull;
}
protected SingleResolverBase(TResolved value, bool canBeNull)
{
_resolved = value;
_canBeNull = canBeNull;
}
protected TResolved Value
{
get
{
return _resolved;
}
set
{
Resolution.EnsureNotFrozen();
if (!_canBeNull && value == null)
throw new ArgumentNullException("value");
_resolved = value;
}
}
}
}