Exemplo n.º 1
0
 /// <summary>
 /// 转换为 <see cref="System.Guid"/>,<see cref="System.Guid"/> 无法强制转换。
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="value"></param>
 /// <returns></returns>
 private static T GetGuidValue <T>(PropertyValue value)
 {
     if (value.Object != null)
     {
         return((T)(object)new Guid(value.Object.ToString()));
     }
     return(value.Cast <T>());
 }
Exemplo n.º 2
0
 /// <summary>
 /// 将 <see cref="PropertyValue"/> 的值转换为 <typeparamref name="T"/> 类型。
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="value">一个 <see cref="PropertyValue"/> 对象。</param>
 /// <returns></returns>
 internal static T GetValue <T>(PropertyValue value)
 {
     if (value == null)
     {
         return(default(T));
     }
     //如果是受支持的类型,强制转换,这样不会被装箱
     if (IsSupportedType(typeof(T)))
     {
         if (typeof(T).GetNonNullableType() == typeof(Guid))
         {
             return(GetGuidValue <T>(value));
         }
     }
     return(value.Cast <T>());
 }