コード例 #1
0
ファイル: ArgumentHelper.cs プロジェクト: minskowl/MY
 public static void AssertNotNullOrEmpty(string arg, string argName)
 {
     ArgumentHelper.AssertNotNullOrEmpty(arg, argName, false);
 }
コード例 #2
0
ファイル: ArgumentHelper.cs プロジェクト: minskowl/MY
 public static void AssertEnumMember <TEnum>(TEnum enumValue, string argName, params TEnum[] validValues) where TEnum : struct, IConvertible
 {
     ArgumentHelper.AssertNotNull <TEnum[]>(validValues, "validValues");
     if (Attribute.IsDefined((MemberInfo)typeof(TEnum), typeof(FlagsAttribute), false))
     {
         long num = enumValue.ToInt64((IFormatProvider)CultureInfo.InvariantCulture);
         bool flag;
         if (num == 0L)
         {
             flag = true;
             foreach (TEnum @enum in validValues)
             {
                 if (@enum.ToInt64((IFormatProvider)CultureInfo.InvariantCulture) == 0L)
                 {
                     flag = false;
                     break;
                 }
             }
         }
         else
         {
             foreach (TEnum @enum in validValues)
             {
                 num &= [email protected]((IFormatProvider)CultureInfo.InvariantCulture);
             }
             flag = num != 0L;
         }
         if (!flag)
         {
             return;
         }
         throw new ArgumentException(string.Format((IFormatProvider)CultureInfo.InvariantCulture, "Enum value '{0}' is not allowed for flags enumeration '{1}'.", new object[2]
         {
             (object)enumValue,
             (object)typeof(TEnum).FullName
         }), argName);
     }
     else
     {
         foreach (TEnum @enum in validValues)
         {
             if (enumValue.Equals((object)@enum))
             {
                 return;
             }
         }
         if (!Enum.IsDefined(typeof(TEnum), (object)enumValue))
         {
             throw new ArgumentException(string.Format((IFormatProvider)CultureInfo.InvariantCulture, "Enum value '{0}' is not defined for enumeration '{1}'.", new object[2]
             {
                 (object)enumValue,
                 (object)typeof(TEnum).FullName
             }), argName);
         }
         else
         {
             throw new ArgumentException(string.Format((IFormatProvider)CultureInfo.InvariantCulture, "Enum value '{0}' is defined for enumeration '{1}' but it is not permitted in this context.", new object[2]
             {
                 (object)enumValue,
                 (object)typeof(TEnum).FullName
             }), argName);
         }
     }
 }