NativeReference<T> 结构
Native reference
命名空间: NativeCollections
程序集: Fantasy.Net.dll
语法
[StructLayout(LayoutKind.Sequential)]
public readonly struct NativeReference<T> : IDisposable, IEquatable<NativeReference<T>> where T : unmanaged
类型参数
名称 | 描述 |
---|---|
T | Type |
构造函数
| 编辑本文 查看源代码NativeReference(T)
Structure
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public NativeReference(T value)
参数
类型 | 名称 | 描述 |
---|---|---|
T | value | Value |
NativeReference(T*)
Structure
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public NativeReference(T* handle)
参数
类型 | 名称 | 描述 |
---|---|---|
T* | handle | Handle |
属性
| 编辑本文 查看源代码Empty
Empty
声明
public static NativeReference<T> Empty { get; }
属性值
类型 | 描述 |
---|---|
NativeReference<T> |
Handle
Handle
声明
public T* Handle { get; }
属性值
类型 | 描述 |
---|---|
T* |
IsCreated
Is created
声明
public bool IsCreated { get; }
属性值
类型 | 描述 |
---|---|
bool |
Value
Value
声明
public T Value { get; set; }
属性值
类型 | 描述 |
---|---|
T |
方法
| 编辑本文 查看源代码Dispose()
Dispose
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Dispose()
Equals(NativeReference<T>)
Equals
声明
public bool Equals(NativeReference<T> other)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeReference<T> | other | Other |
返回
类型 | 描述 |
---|---|
bool | Equals |
Equals(object?)
Equals
声明
public override bool Equals(object? obj)
参数
类型 | 名称 | 描述 |
---|---|---|
object | obj | object |
返回
类型 | 描述 |
---|---|
bool | Equals |
重写
| 编辑本文 查看源代码GetHashCode()
Get hashCode
声明
public override int GetHashCode()
返回
类型 | 描述 |
---|---|
int | HashCode |
重写
| 编辑本文 查看源代码ToString()
To string
声明
public override string ToString()
返回
类型 | 描述 |
---|---|
string | String |
重写
运算符
| 编辑本文 查看源代码operator ==(NativeReference<T>, NativeReference<T>)
Equals
声明
public static bool operator ==(NativeReference<T> left, NativeReference<T> right)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeReference<T> | left | Left |
NativeReference<T> | right | Right |
返回
类型 | 描述 |
---|---|
bool | Equals |
implicit operator nint(NativeReference<T>)
As handle
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator nint(NativeReference<T> nativeReference)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeReference<T> | nativeReference |
返回
类型 | 描述 |
---|---|
nint | Handle |
implicit operator T*(NativeReference<T>)
As handle
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator T*(NativeReference<T> nativeReference)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeReference<T> | nativeReference |
返回
类型 | 描述 |
---|---|
T* | Handle |
implicit operator NativeReference<T>(nint)
As reference
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator NativeReference<T>(nint handle)
参数
类型 | 名称 | 描述 |
---|---|---|
nint | handle |
返回
类型 | 描述 |
---|---|
NativeReference<T> | NativeReference |
implicit operator NativeReference<T>(T*)
As reference
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator NativeReference<T>(T* handle)
参数
类型 | 名称 | 描述 |
---|---|---|
T* | handle |
返回
类型 | 描述 |
---|---|
NativeReference<T> | NativeReference |
operator !=(NativeReference<T>, NativeReference<T>)
Not equals
声明
public static bool operator !=(NativeReference<T> left, NativeReference<T> right)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeReference<T> | left | Left |
NativeReference<T> | right | Right |
返回
类型 | 描述 |
---|---|
bool | Not equals |