Esempio n. 1
0
        Type DoGetType()
        {
            var pi = underlying_member as PropertyInfo;

            if (pi != null)
            {
                return(pi.PropertyType);
            }
            var ei = underlying_member as EventInfo;

            if (ei != null)
            {
                return(ei.EventHandlerType);
            }
            if (UnderlyingSetter != null)
            {
                return(UnderlyingSetter.GetParameters()[1].ParameterType);
            }
            if (UnderlyingGetter != null)
            {
                if (IsAttachable)
                {
                    return(UnderlyingGetter.ReturnType);
                }
                else
                {
                    return(UnderlyingGetter.GetParameters()[0].ParameterType);
                }
            }
            return(typeof(object));
        }