13 private readonly
string language;
48 public const string TypeUri = XmlSchema.Namespace +
"string";
62 return ValueType == typeof(
string) ? Grade.Ok :
Grade.NotAtAll;
77 return string.IsNullOrEmpty(DataType) || DataType ==
TypeUri ? Grade.Ok :
Grade.NotAtAll;
105 StringBuilder sb =
new StringBuilder();
111 if (!
string.IsNullOrEmpty(this.language))
114 sb.Append(this.language);
117 return sb.ToString();
124 Typed.StringValue == this.StringValue &&
125 string.Compare(Typed.language,
this.language,
true) == 0;
132 Result ^= Result << 5 ^ (this.language?.GetHashCode() ?? 0);
151 int i = this.
StringValue.CompareTo(Typed.StringValue);
155 return this.language?.CompareTo(Typed.language) ?? (Typed.language is
null ? 0 : -1);
158 return base.CompareTo(obj);
Helps with common JSON-related tasks.
static string Encode(string s)
Encodes a string for inclusion in JSON.
Represents a string literal.
override ISemanticLiteral Parse(string Value, string DataType, string Language)
Tries to parse a string value of the type supported by the class..
string Language
Language of string.
override string StringType
Type name
StringLiteral(string Value, string Language)
Represents a string literal.
override ISemanticLiteral Encapsulate(object Value)
Encapsulates an object value as a semantic literal value.
override bool Equals(object obj)
override Grade Supports(string DataType)
How well the type supports a given data type.
override string ToString()
StringLiteral()
Represents a string literal.
override int GetHashCode()
override int CompareTo(object obj)
Compares the current instance with another object of the same type and returns an integer that indica...
StringLiteral(string Value)
Represents a string literal.
override Grade Supports(Type ValueType)
How well the type supports a given value type.
const string TypeUri
http://www.w3.org/2001/XMLSchema#string
Abstract base class for semantic literal values.
string StringValue
String representation of value.
object Value
Parsed value.
Interface for semantic literals.