Struct IComponent
This type represents a pointer to an unmanaged open.mp IComponent interface.
[OpenMpApi(new Type[] { })]
[OpenMpApiPartial]
public readonly struct IComponent : IEquatable<IComponent>, IUnmanagedInterface
- Implements
- Inherited Members
Constructors
IComponent(nint)
Initializes a new instance of the IComponent struct.
public IComponent(nint handle)
Parameters
handlenintA pointer to the unmanaged interface.
Properties
Handle
Gets the handle to the unmanaged interface instance.
public nint Handle { get; }
Property Value
HasValue
Gets a value indicating whether the pointer has a value.
public bool HasValue { get; }
Property Value
Methods
ComponentName()
Gets the name of the component.
public string ComponentName()
Returns
- string
The component name.
ComponentVersion()
Gets the version of the component.
public SemanticVersion ComponentVersion()
Returns
- SemanticVersion
The component version.
Equals(IComponent)
public bool Equals(IComponent other)
Parameters
otherIComponent
Returns
Equals(object?)
public override bool Equals(object? other)
Parameters
otherobject
Returns
GetComponentType()
Gets the type of the component.
public ComponentType GetComponentType()
Returns
- ComponentType
The component type.
GetHashCode()
public override int GetHashCode()
Returns
SupportedVersion()
Gets the supported version of the component.
public int SupportedVersion()
Returns
- int
The supported version of the component.
Remarks
The idea is for the SDK to be totally forward compatible, so code built at any time will always work, thanks to
ABI compatibility. This method is an emergency trap door, just in case that's ever not the problem. Check
which major version this component was built for, if it isn't the current major version, fail to load it.
Always just returns a constant, recompiling will often be enough to upgrade. virtual and final to be the
vtable, but it can't be overridden because it is a constant.
Operators
operator ==(IComponent, object?)
Determines whether the specified values are equal.
public static bool operator ==(IComponent lhs, object? rhs)
Parameters
lhsIComponentThe value on the left side of the operator.
rhsobjectThe value on the right side of the operator.
Returns
- bool
trueif the values are equal; otherwise,false.
operator !=(IComponent, object?)
Determines whether the specified values are not equal.
public static bool operator !=(IComponent lhs, object? rhs)
Parameters
lhsIComponentThe value on the left side of the operator.
rhsobjectThe value on the right side of the operator.
Returns
- bool
trueif the values are not equal; otherwise,false.