Beispiel #1
0
        public static object GetValue(this MemberInfo member, object component)
        {
            if (component == null && !member.CanGetFromNullEx())
            {
                return(null);
            }

            if (member is PropertyInfo)
            {
                return(((PropertyInfo)member).GetValue(component, null));
            }
            else if (member is FieldInfo)
            {
                return(((FieldInfo)member).GetValue(component));
            }

            MethodInfo method = member as MethodInfo;

            if (method != null && typeof(void) != method.ReturnType && method.GetParameters().Length == 0)
            {
                return(method.Invoke(component, null));
            }

            return(null);
        }