可移植类库中的SafeHandleZeroOrMinusOneIsInvalid

时间:2012-09-04 09:55:41

标签: .net unsafe portable-class-library

SafeHandleZeroOrMinusOneIsInvalid或类似的类不能在面向.NET 4.0和Windows应用商店应用的可移植类库中使用。

有人知道为什么或如何使用它或使用不同的类?

是的,我想在便携式类库中有一些不安全的东西。

1 个答案:

答案 0 :(得分:1)

Portable仅限于您定位的平台。在这种情况下,Windows应用商店应用不会公开此类型。它的实现非常简单,这是我刚刚发起的一个:

public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle
{
    protected SafeHandleZeroOrMinusOneIsInvalid(bool ownsHandle)
        : base(IntPtr.Zero, ownsHandle)
    {
    }

    public override bool IsInvalid
    {
        get { return base.handle == IntPtr.Zero || base.handle == (IntPtr)(-1); }
    }
}