Class SINT
Represents a SINT Logix atomic data type, or a type analogous to sbyte.
public sealed class SINT : AtomicType, ILogixSerializable, IComparable, IConvertible
- Inheritance
-
SINT
- Implements
- Inherited Members
Constructors
SINT()
Creates a new default SINT type.
public SINT()
SINT(Radix)
Creates a new SINT value with the provided radix format.
public SINT(Radix radix)
Parameters
SINT(sbyte)
Creates a new SINT with the provided value.
public SINT(sbyte value)
Parameters
valuesbyteThe value to initialize the type with.
SINT(sbyte, Radix)
Creates a new SINT with the provided value.
public SINT(sbyte value, Radix radix)
Parameters
valuesbyteThe value to initialize the type with.
radixRadixThe optional radix format of the value.
Properties
this[int]
Gets bit member's data type value at the specified bit index.
public BOOL this[int bit] { get; }
Parameters
bitintThe zero based bit index of the value to get.
Property Value
Exceptions
- ArgumentOutOfRangeException
bitis out of range of the atomic type bit length.
Name
The name of the logix type.
public override string Name { get; }
Property Value
Radix
The radix format for the AtomicType.
public override Radix Radix { get; }
Property Value
Methods
CompareTo(object?)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
public int CompareTo(object? obj)
Parameters
objobjectAn object to compare with this instance.
Returns
- int
A value that indicates the relative order of the objects being compared. The return value has these meanings:
ValueMeaning
Less than zero
This instance precedes
objin the sort order.Zero
This instance occurs in the same position in the sort order as
obj.Greater than zero
This instance follows
objin the sort order.
Exceptions
- ArgumentException
objis not the same type as this instance.
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current object.
Returns
GetBytes()
Returns the AtomicType value as an array of byte values.
public override byte[] GetBytes()
Returns
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
OnMemberDataChanged(object, EventArgs)
Executes the logic to update the atomic value and forward the data changed event up the type/member hierarchy.
protected override void OnMemberDataChanged(object sender, EventArgs e)
Parameters
Remarks
Atomic members (bits) represent the value of the type. When the member data changed event is triggered, we want to intercept that on the parent atomic type in order to change/update the reflected value. We can do that by getting the changed member (sender) name (bit number) and value (bit value) and setting to get the updated value. However, since atomic types ar immutable, we have to send the changed value up the chain to the parent member (Tag, DataValue, DataValueMember) so that it can replace it's data type with the new atomic value. This is captured in LogixMember.
Parse(string)
Parses the provided string value to a new SINT.
public static SINT Parse(string value)
Parameters
valuestringThe string value to parse.
Returns
Exceptions
- FormatException
The Radix format can not be inferred from
value.
Operators
implicit operator sbyte(SINT)
public static implicit operator sbyte(SINT atomic)
Parameters
atomicSINTThe value to convert.
Returns
implicit operator string(SINT)
public static implicit operator string(SINT value)
Parameters
valueSINTThe value to convert.
Returns
implicit operator SINT(sbyte)
public static implicit operator SINT(sbyte value)
Parameters
valuesbyteThe value to convert.
Returns
implicit operator SINT(string)
public static implicit operator SINT(string value)
Parameters
valuestringThe value to convert.