XmlCollectionItem<T>
namespace Castle.Components.DictionaryAdapter.Xml
{
internal struct XmlCollectionItem<T>
{
public readonly IXmlNode Node;
public readonly T Value;
public readonly bool HasValue;
public XmlCollectionItem(IXmlNode node)
{
this = new XmlCollectionItem<T>(node, default(T), false);
}
public XmlCollectionItem(IXmlNode node, T value)
{
this = new XmlCollectionItem<T>(node, value, true);
}
private XmlCollectionItem(IXmlNode node, T value, bool hasValue)
{
Node = node;
Value = value;
HasValue = hasValue;
}
public XmlCollectionItem<T> WithValue(T value)
{
return new XmlCollectionItem<T>(Node, value);
}
}
}