1 // ================================================================================================
3 // Apache Commons LangのObjectUtilsを参考にしたユーティリティクラスソース。</summary>
5 // <copyright file="ObjectUtils.cs" company="honeplusのメモ帳">
6 // Copyright (C) 2012 Honeplus. All rights reserved.</copyright>
9 // ================================================================================================
11 namespace Honememo.Utilities
16 /// Apache Commons LangのObjectUtilsを参考にしたユーティリティクラスです。
19 /// Apache Commons Lang - ObjectUtils
20 /// http://commons.apache.org/lang/api-2.6/org/apache/commons/lang/ObjectUtils.html
22 public static class ObjectUtils
27 /// オブジェクトが<c>null</c>の場合に指定されたオブジェクトを返す。
29 /// <param name="obj">テストするオブジェクト。<c>null</c>も可。</param>
30 /// <param name="defaultValue">渡されたオブジェクトが<c>null</c>の場合に返されるデフォルトのオブジェクト。</param>
31 /// <returns>渡されたオブジェクト、<c>null</c>の場合にはデフォルトのオブジェクト。</returns>
32 /// <typeparam name="T">オブジェクトの型。</typeparam>
33 public static T DefaultIfNull<T>(T obj, T defaultValue)
48 /// 二つのオブジェクトが同じかを比較する。両方がまたは片方が<c>null</c>の場合も許容する。
50 /// <param name="object1">比較する一つ目のオブジェクト。<c>null</c>も可。</param>
51 /// <param name="object2">比較する二つ目のオブジェクト。<c>null</c>も可。</param>
52 /// <returns>渡されたオブジェクトを<c>Equals</c>した結果。両方が<c>null</c>の場合は<c>true</c>を返す。</returns>
53 public static new bool Equals(object object1, object object2)
55 if (object1 == null && object2 == null)
59 else if (object1 == null || object2 == null)
64 return object1.Equals(object2);
68 /// オブジェクトが<c>null</c>の場合に空の文字列を返す<see cref="Object.ToString"/>。
70 /// <param name="obj"><c>ToString</c>するオブジェクト。<c>null</c>も可。</param>
71 /// <returns>渡されたオブジェクトを<c>ToString</c>した結果。<c>null</c>の場合には空の文字列。</returns>
72 public static string ToString(object obj)
74 return ObjectUtils.ToString(obj, String.Empty);
78 /// オブジェクトが<c>null</c>の場合に指定された文字列を返す<see cref="Object.ToString"/>。
80 /// <param name="obj"><c>ToString</c>するオブジェクト。<c>null</c>も可。</param>
81 /// <param name="nullStr">渡されたオブジェクトが<c>null</c>の場合に返される文字列。<c>null</c>も可。</param>
82 /// <returns>渡されたオブジェクトを<c>ToString</c>した結果。<c>null</c>の場合には指定された文字列。</returns>
83 public static string ToString(object obj, string nullStr)
90 return obj.ToString();