|
using System;
namespace AngleSharp.Css
{
/// <summary>
/// The match token that contains part of a selector.
/// </summary>
sealed class CssMatchToken : CssToken
{
#region Static instances
readonly static CssMatchToken include;
readonly static CssMatchToken dash;
readonly static CssToken prefix;
readonly static CssToken substring;
readonly static CssToken suffix;
readonly static CssToken not;
#endregion
#region ctor
static CssMatchToken()
{
include = new CssMatchToken { _type = CssTokenType.IncludeMatch };
dash = new CssMatchToken { _type = CssTokenType.DashMatch };
prefix = new CssMatchToken { _type = CssTokenType.PrefixMatch };
substring = new CssMatchToken { _type = CssTokenType.SubstringMatch };
suffix = new CssMatchToken { _type = CssTokenType.SuffixMatch };
not = new CssMatchToken { _type = CssTokenType.NotMatch };
}
/// <summary>
/// Creates a new CSS match token.
/// </summary>
CssMatchToken()
{
}
#endregion
#region Properties
/// <summary>
/// Gets a new CSS include-match token.
/// </summary>
public static CssMatchToken Include
{
get { return include; }
}
/// <summary>
/// Gets a new CSS dash-match token.
/// </summary>
public static CssMatchToken Dash
{
get { return dash; }
}
/// <summary>
/// Gets a new CSS prefix-match token.
/// </summary>
public static CssToken Prefix
{
get { return prefix; }
}
/// <summary>
/// Gets a new CSS substring-match token.
/// </summary>
public static CssToken Substring
{
get { return substring; }
}
/// <summary>
/// Gets a new CSS suffix-match token.
/// </summary>
public static CssToken Suffix
{
get { return suffix; }
}
/// <summary>
/// Gets a new CSS not-match token.
/// </summary>
public static CssToken Not
{
get { return not; }
}
#endregion
#region Methods
/// <summary>
/// Gets a string which represents the original value.
/// </summary>
/// <returns>The original value.</returns>
public override String ToValue()
{
switch (_type)
{
case CssTokenType.SubstringMatch:
return "*=";
case CssTokenType.SuffixMatch:
return "$=";
case CssTokenType.PrefixMatch:
return "^=";
case CssTokenType.IncludeMatch:
return "~=";
case CssTokenType.DashMatch:
return "|=";
case CssTokenType.NotMatch:
return "!=";
}
return String.Empty;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.
During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.
Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.