Class DINT
Represents a DINT Logix atomic data type, or a type analogous to a int.
public sealed class DINT : AtomicType, ILogixSerializable, IComparable, IConvertible
- Inheritance
-
DINT
- Implements
- Inherited Members
Constructors
DINT()
Creates a new default DINT type.
public DINT()
DINT(Radix)
Creates a new DINT value with the provided radix format.
public DINT(Radix radix)
Parameters
Exceptions
- ArgumentNullException
radix
is null.- ArgumentException
radix
is not supported by the atomic type.
DINT(int)
Creates a new DINT with the provided value.
public DINT(int value)
Parameters
value
intThe value to initialize the type with.
DINT(int, Radix)
Creates a new DINT with the provided value and radix format.
public DINT(int value, Radix radix)
Parameters
value
intThe value to initialize the type with.
radix
RadixThe optional radix format of the value.
Exceptions
- ArgumentNullException
radix
is null.- ArgumentException
radix
is not supported by the atomic type.
Properties
this[int]
Gets bit member's data type value at the specified bit index.
public BOOL this[int bit] { get; }
Parameters
bit
intThe zero based bit index of the value to get.
Property Value
Exceptions
- ArgumentOutOfRangeException
bit
is 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
obj
objectAn 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
obj
in the sort order.Zero
This instance occurs in the same position in the sort order as
obj
.Greater than zero
This instance follows
obj
in the sort order.
Exceptions
- ArgumentException
obj
is 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
obj
objectThe 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 DINT.
public static DINT Parse(string value)
Parameters
value
stringThe string value to parse.
Returns
Exceptions
- ArgumentException
The converted value returned null.
- FormatException
The Radix format can not be inferred from
value
.
Operators
implicit operator int(DINT)
public static implicit operator int(DINT atomic)
Parameters
atomic
DINTThe value to convert.
Returns
implicit operator string(DINT)
public static implicit operator string(DINT value)
Parameters
value
DINTThe value to convert.
Returns
implicit operator DINT(int)
public static implicit operator DINT(int value)
Parameters
value
intThe value to convert.
Returns
implicit operator DINT(string)
public static implicit operator DINT(string value)
Parameters
value
stringThe value to convert.