Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

IntPtrがゼロかどうかを判定する拡張メソッド

IntPtrがゼロかどうかを判定する拡張メソッドを実装します。

どうすれば?

using System;

namespace ThumbnailExtraction
{
    internal static class SystemExtension
    {
        #region IntPtr

        /// <summary>
        /// ゼロかどうかを示す値を取得します。
        /// </summary>
        /// <param name="self"><see cref="System.IntPtr"/> のインスタンス。</param>
        /// <returns>ゼロの場合はtrue。それ以外の場合はfalse。</returns>
        public static bool IsZero(this IntPtr self)
        {
            return self == IntPtr.Zero;
        }

        #endregion IntPtr
    }
}

どうなった?

if(!hoge == System.IntPtr.Zero()) {
    // 処理
}

これが、

if(!hoge.IsZero()) {
    // 処理
}

こんな風に少し楽に書けます。