Exemple #1
0
        public override MethodInfo[] GetAccessors(bool nonPublic)
        {
            MonoPropertyInfo info;
            int nget = 0;
            int nset = 0;

            MonoPropertyInfo.get_property_info(this, out info, PInfo.GetMethod | PInfo.SetMethod);
            if (info.set_method != null && (nonPublic || info.set_method.IsPublic))
            {
                nset = 1;
            }
            if (info.get_method != null && (nonPublic || info.get_method.IsPublic))
            {
                nget = 1;
            }

            MethodInfo[] res = new MethodInfo [nget + nset];
            int          n   = 0;

            if (nset != 0)
            {
                res [n++] = info.set_method;
            }
            if (nget != 0)
            {
                res [n++] = info.get_method;
            }
            return(res);
        }
Exemple #2
0
#pragma warning restore 649

        void CachePropertyInfo(PInfo flags)
        {
            if ((cached & flags) != flags)
            {
                MonoPropertyInfo.get_property_info(this, ref info, flags);
                cached |= flags;
            }
        }
Exemple #3
0
 private void CachePropertyInfo(PInfo flags)
 {
     if ((this.cached & flags) != flags)
     {
         MonoPropertyInfo.get_property_info(this, ref this.info, flags);
         this.cached |= flags;
     }
 }
Exemple #4
0
        public override ParameterInfo[] GetIndexParameters()
        {
            MonoPropertyInfo info;

            MonoPropertyInfo.get_property_info(this, out info, PInfo.GetMethod);
            if (info.get_method != null)
            {
                return(info.get_method.GetParameters());
            }
            return(new ParameterInfo [0]);
        }
Exemple #5
0
 public override MethodInfo GetSetMethod(bool nonPublic)
 {
     if ((cached & PInfo.SetMethod) == 0)
     {
         MonoPropertyInfo.get_property_info(this, out info, PInfo.SetMethod);
         cached |= PInfo.SetMethod;
     }
     if (info.set_method != null && (nonPublic || info.set_method.IsPublic))
     {
         return(info.set_method);
     }
     else
     {
         return(null);
     }
 }