47 lines
		
	
	
		
			999 B
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			999 B
		
	
	
	
		
			C#
		
	
	
	
|  | namespace SRF.Helpers | |||
|  | { | |||
|  |     using System; | |||
|  |     using System.Reflection; | |||
|  | 
 | |||
|  |     public static class SRReflection | |||
|  |     { | |||
|  |         public static void SetPropertyValue(object obj, PropertyInfo p, object value) | |||
|  |         { | |||
|  | #if NETFX_CORE | |||
|  | 			p.SetValue(obj, value, null); | |||
|  | #else | |||
|  |             p.GetSetMethod().Invoke(obj, new[] {value}); | |||
|  | #endif | |||
|  |         } | |||
|  | 
 | |||
|  |         public static object GetPropertyValue(object obj, PropertyInfo p) | |||
|  |         { | |||
|  | #if NETFX_CORE | |||
|  | 			return p.GetValue(obj, null); | |||
|  | #else | |||
|  |             return p.GetGetMethod().Invoke(obj, null); | |||
|  | #endif | |||
|  |         } | |||
|  | 
 | |||
|  |         public static T GetAttribute<T>(MemberInfo t) where T : Attribute | |||
|  |         { | |||
|  | #if !NETFX_CORE | |||
|  |             return Attribute.GetCustomAttribute(t, typeof (T)) as T; | |||
|  | #else | |||
|  | 			return t.GetCustomAttribute(typeof (T), true) as T; | |||
|  | #endif | |||
|  |         } | |||
|  | 
 | |||
|  | #if NETFX_CORE | |||
|  | 
 | |||
|  | 		public static T GetAttribute<T>(Type t) where T : Attribute | |||
|  | 		{ | |||
|  | 			 | |||
|  | 			return GetAttribute<T>(t.GetTypeInfo()); | |||
|  | 
 | |||
|  | 		} | |||
|  | 
 | |||
|  | #endif | |||
|  |     } | |||
|  | } |