System.IntPtr.cs
Posted storebook
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.IntPtr.cs相关的知识,希望对你有一定的参考价值。
ylbtech-System.IntPtr.cs |
1.返回顶部 |
1、
#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6.1mscorlib.dll #endregion using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; namespace System { // // 摘要: // 用于表示指针或句柄的平台特定类型。 [ComVisible(true)] public struct IntPtr : ISerializable { // // 摘要: // 表示已初始化为零的指针或句柄的只读字段。 public static readonly IntPtr Zero; // // 摘要: // 使用指定的 32 位指针或句柄初始化 System.IntPtr 的新实例。 // // 参数: // value: // 32 位有符号整数中包含的指针或句柄。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] [SecuritySafeCritical] public IntPtr(int value); // // 摘要: // 使用指定的 64 位指针初始化 System.IntPtr 的新实例。 // // 参数: // value: // 64 位有符号整数中包含的指针或句柄。 // // 异常: // T:System.OverflowException: // 在 32 位平台上,value太大或太小而无法表示为System.IntPtr。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] [SecuritySafeCritical] public IntPtr(long value); // // 摘要: // 使用指定的指向未指定类型的指针初始化 System.IntPtr 的新实例。 // // 参数: // value: // 指向未指定类型的指针。 [CLSCompliant(false)] [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] [SecurityCritical] public IntPtr(void* value); // // 摘要: // 获取此实例的大小。 // // 返回结果: // 此进程中的指针或句柄的大小(以字节为单位)。 此属性的值在 32 位进程中为 4,在 64 位进程中为 8。 通过 C# 和 Visual Basic 编译器编译代码时,可以通过设置 // /platform 开关定义该进程类型。 public static int Size { get; } // // 摘要: // 为指针值添加偏移量。 // // 参数: // pointer: // 要为其增加偏移量的指针。 // // offset: // 要增加的偏移量。 // // 返回结果: // 反映为 offset 增加 pointer 的新指针。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static IntPtr Add(IntPtr pointer, int offset); // // 摘要: // 从指针值中减去偏移量。 // // 参数: // pointer: // 要从中减去偏移量的指针。 // // offset: // 要减去的偏移量。 // // 返回结果: // 反映从 offset 中减去 pointer 的新指针。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static IntPtr Subtract(IntPtr pointer, int offset); // // 摘要: // 返回一个值,该值指示此实例是否等于指定的对象。 // // 参数: // obj: // 要与此示例比较的对象,或 null。 // // 返回结果: // 如果 true 是 obj 的实例并且等于此实例的值,则为 System.IntPtr;否则为 false。 [SecuritySafeCritical] public override bool Equals(object obj); // // 摘要: // 返回此实例的哈希代码。 // // 返回结果: // 32 位有符号整数哈希代码。 [SecuritySafeCritical] public override int GetHashCode(); // // 摘要: // 将此实例的值转换为 32 位有符号整数。 // // 返回结果: // 与此实例的值相等的 32 位有符号整数。 // // 异常: // T:System.OverflowException: // 在 64 位平台上,此实例的值是太大或太小而无法表示为一个 32 位带符号整数。 [NonVersionableAttribute] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SecuritySafeCritical] public int ToInt32(); // // 摘要: // 将此实例的值转换为 64 位有符号整数。 // // 返回结果: // 与此实例的值相等的 64 位有符号整数。 [NonVersionableAttribute] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SecuritySafeCritical] public long ToInt64(); // // 摘要: // 将此实例的值转换为指向未指定类型的指针。 // // 返回结果: // 指向 System.Void 的指针,即是说,该指针所指向的内存包含有未指定类型的数据。 [CLSCompliant(false)] [NonVersionableAttribute] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SecuritySafeCritical] public void* ToPointer(); // // 摘要: // 将当前 System.IntPtr 对象的数值转换为其等效字符串表示形式。 // // 返回结果: // 此实例的值的字符串表示形式。 [SecuritySafeCritical] public override string ToString(); // // 摘要: // 将当前 System.IntPtr 对象的数值转换为其等效字符串表示形式。 // // 参数: // format: // 控制当前 System.IntPtr 对象转换方式的格式规范。 // // 返回结果: // 当前 System.IntPtr 对象的值的字符串表示形式。 [SecuritySafeCritical] public string ToString(string format); // // 摘要: // 为指针值添加偏移量。 // // 参数: // pointer: // 要为其增加偏移量的指针。 // // offset: // 要增加的偏移量。 // // 返回结果: // 反映为 offset 增加 pointer 的新指针。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static IntPtr operator +(IntPtr pointer, int offset); // // 摘要: // 从指针值中减去偏移量。 // // 参数: // pointer: // 要从中减去偏移量的指针。 // // offset: // 要减去的偏移量。 // // 返回结果: // 反映从 offset 中减去 pointer 的新指针。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static IntPtr operator -(IntPtr pointer, int offset); // // 摘要: // 确定 System.IntPtr 的两个指定的实例是否相等。 // // 参数: // value1: // 要比较的第一个指针或句柄。 // // value2: // 要比较的第二个指针或句柄。 // // 返回结果: // 如果 value1 等于 value2,则为 true否则为 false。 [NonVersionableAttribute] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SecuritySafeCritical] public static bool operator ==(IntPtr value1, IntPtr value2); // // 摘要: // 确定 System.IntPtr 的两个指定的实例是否不等。 // // 参数: // value1: // 要比较的第一个指针或句柄。 // // value2: // 要比较的第二个指针或句柄。 // // 返回结果: // 如果 value1 不等于 value2,则为 true否则为 false。 [NonVersionableAttribute] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SecuritySafeCritical] public static bool operator !=(IntPtr value1, IntPtr value2); // // 摘要: // 将指定的 System.IntPtr 的值转换为 32 位有符号整数。 // // 参数: // value: // 要转换的指针或句柄。 // // 返回结果: // value 的内容。 // // 异常: // T:System.OverflowException: // 在 64 位平台上,值 value 太大而无法表示为一个 32 位有符号整数。 [NonVersionableAttribute] [SecuritySafeCritical] public static explicit operator int(IntPtr value); // // 摘要: // 将指定的 System.IntPtr 的值转换为指向未指定类型的指针。 // // 参数: // value: // 要转换的指针或句柄。 // // 返回结果: // value 的内容。 [CLSCompliant(false)] [NonVersionableAttribute] [SecuritySafeCritical] public static explicit operator void* (IntPtr value); // // 摘要: // 将指向未指定类型的指定指针转换为 System.IntPtr。 // // 参数: // value: // 指向未指定类型的指针。 // // 返回结果: // 初始化为 System.IntPtr 的 value 新实例。 [CLSCompliant(false)] [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] [SecurityCritical] public static explicit operator IntPtr(void* value); // // 摘要: // 将 32 位有符号整数的值转换为 System.IntPtr。 // // 参数: // value: // 32 位带符号整数。 // // 返回结果: // 初始化为 System.IntPtr 的 value 新实例。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static explicit operator IntPtr(int value); // // 摘要: // 将指定的 System.IntPtr 的值转换为 64 位有符号整数。 // // 参数: // value: // 要转换的指针或句柄。 // // 返回结果: // value 的内容。 [NonVersionableAttribute] [SecuritySafeCritical] public static explicit operator long(IntPtr value); // // 摘要: // 将 64 位有符号整数值转换为 System.IntPtr。 // // 参数: // value: // 64 位带符号整数。 // // 返回结果: // 初始化为 System.IntPtr 的 value 新实例。 // // 异常: // T:System.OverflowException: // 在 32 位平台上, value 太大而无法表示为 System.IntPtr。 [NonVersionableAttribute] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static explicit operator IntPtr(long value); } }
2、
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
以上是关于System.IntPtr.cs的主要内容,如果未能解决你的问题,请参考以下文章