Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveVisibleFieldPropertyOrEvent C# (CSharp) Метод

ResolveVisibleFieldPropertyOrEvent() приватный Метод

private ResolveVisibleFieldPropertyOrEvent ( Expression sourceNode, IType type, string name ) : IMember
sourceNode Expression
type IType
name string
Результат IMember
        private IMember ResolveVisibleFieldPropertyOrEvent(Expression sourceNode, IType type, string name)
        {
            IEntity candidate = ResolveFieldPropertyEvent(type, name);
            if (null == candidate) return null;

            if (IsVisibleFieldPropertyOrEvent(candidate)) return (IMember)candidate;

            if (!candidate.IsAmbiguous()) return null;

            IList<IEntity> found = ((Ambiguous)candidate).Select(IsVisibleFieldPropertyOrEvent);
            if (found.Count == 0) return null;
            if (found.Count == 1) return (IMember)found[0];

            Error(sourceNode, CompilerErrorFactory.AmbiguousReference(sourceNode, name, found));
            return null;
        }
ProcessMethodBodies