[Mono-docs-list] Patch to change the BindingFlags used by
Miguel de Icaza
27 Jul 2003 17:48:30 -0400
> As a friend of mine Jon Kessler was working on some Gtk# docs he noted
> that every enum was marked as having two unimplemented methods. I took a
> look into this and noticed that when we look for methods we look at both
> private methods and methods that are inherited.
> It turns out that two members of System.Enumeration are marked as TODO.
> However, these are *not* showed as methods of the class on the tree.
> This patch makes sure that we only count methods that are shown on the
> tree as unfinished. I think it makes the interface less confusing.
The story is a bit more complex though. Public and NonPublic are
pretty broad flags with little precision.
What you want to do is keep the Public | NonPublic state, but later
check manually if you are dealing with a MethodInfo, and if you are, then do:
MethodAttributes ma = method_info.Attributes & MethodAttributes.MemberAccessMask;
And then do:
if (ma == MethodAttributes.Family ||
ma == MethodAttributes.FamOrAssem ||
ma == MethodAttributes.Public)
.. its public.