Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Int8Literal.cs
1using System;
4
6{
11 {
15 public Int8Literal()
16 : base()
17 {
18 }
19
24 public Int8Literal(sbyte Value)
25 : base(Value, Value.ToString())
26 {
27 }
28
34 public Int8Literal(sbyte Value, string StringValue)
35 : base(Value, StringValue)
36 {
37 }
38
42 public const string TypeUri = XmlSchema.Namespace + "byte";
43
47 public override string StringType => TypeUri;
48
54 public override Grade Supports(Type ValueType)
55 {
56 return ValueType == typeof(sbyte) ? Grade.Ok : Grade.NotAtAll;
57 }
58
62 public override double ComparableValue => (sbyte)this.Value;
63
71 public override ISemanticLiteral Parse(string Value, string DataType, string Language)
72 {
73 if (sbyte.TryParse(Value, out sbyte i))
74 return new Int8Literal(i, Value);
75 else
76 return new CustomLiteral(Value, DataType, Language);
77 }
78
84 public override ISemanticLiteral Encapsulate(object Value)
85 {
86 if (Value is sbyte Typed)
87 return new Int8Literal(Typed);
88 else
89 return new StringLiteral(Value?.ToString() ?? string.Empty);
90 }
91
93 public override bool Equals(object obj)
94 {
95 return obj is Int8Literal Typed &&
96 Typed.StringValue == this.StringValue;
97 }
98
100 public override int GetHashCode()
101 {
102 return this.StringValue.GetHashCode();
103 }
104 }
105}
Represents a 8-bit integer literal.
Definition: Int8Literal.cs:11
override ISemanticLiteral Parse(string Value, string DataType, string Language)
Tries to parse a string value of the type supported by the class..
Definition: Int8Literal.cs:71
Int8Literal()
Represents a 8-bit integer literal.
Definition: Int8Literal.cs:15
override ISemanticLiteral Encapsulate(object Value)
Encapsulates an object value as a semantic literal value.
Definition: Int8Literal.cs:84
Int8Literal(sbyte Value)
Represents a 8-bit integer literal.
Definition: Int8Literal.cs:24
override double ComparableValue
Comparable numeric value.
Definition: Int8Literal.cs:62
const string TypeUri
http://www.w3.org/2001/XMLSchema#byte
Definition: Int8Literal.cs:42
Int8Literal(sbyte Value, string StringValue)
Represents a 8-bit integer literal.
Definition: Int8Literal.cs:34
override Grade Supports(Type ValueType)
How well the type supports a given value type.
Definition: Int8Literal.cs:54
string StringValue
String representation of value.
Abstract base class for semantic literal numeric values.
Interface for semantic literals.
Grade
Grade enumeration
Definition: Grade.cs:7