21 lines
		
	
	
		
			571 B
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			21 lines
		
	
	
		
			571 B
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System; | |||
|  | 
 | |||
|  | namespace Unity.PlasticSCM.Editor | |||
|  | { | |||
|  |     internal static class EnumExtensions | |||
|  |     { | |||
|  |         internal static bool HasFlag(this Enum variable, Enum value) | |||
|  |         { | |||
|  |             if (variable.GetType() != value.GetType()) | |||
|  |                 throw new ArgumentException( | |||
|  |                     "The checked flag is not from the same type as the checked variable."); | |||
|  | 
 | |||
|  |             Convert.ToUInt64(value); | |||
|  |             ulong num = Convert.ToUInt64(value); | |||
|  |             ulong num2 = Convert.ToUInt64(variable); | |||
|  | 
 | |||
|  |             return (num2 & num) == num; | |||
|  |         } | |||
|  |     } | |||
|  | } |