public virtual IBinding Resolve(string name) { foreach (TypeMember member in _typeDefinition.Members) { if (name == member.Name) { IBinding binding = BindingManager.GetOptionalBinding(member); if (null == binding) { binding = CreateCorrectBinding(member); _bindingManager.Bind(member, binding); } if (BindingType.Type == binding.BindingType) { binding = _bindingManager.ToTypeReference((ITypeBinding)binding); } return(binding); } } foreach (TypeReference baseType in _typeDefinition.BaseTypes) { IBinding binding = _bindingManager.GetBoundType(baseType).Resolve(name); if (null != binding) { return(binding); } } return(null); }
internal IBinding Resolve(string name, Assembly assembly) { NamespaceBinding binding = (NamespaceBinding)_childrenNamespaces[name]; if (null != binding) { return(new AssemblyQualifiedNamespaceBinding(assembly, binding)); } ArrayList types = (ArrayList)_assemblies[assembly]; if (null != types) { foreach (Type type in types) { if (name == type.Name) { return(_bindingManager.ToTypeReference(type)); } } } return(null); }
public IBinding Resolve(string name) { TypeMember member = _members[name]; if (null != member) { return(_bindingManager.ToTypeReference( (ITypeBinding)BindingManager.GetBinding(member) )); } IBinding binding = null; foreach (INamespace ns in _using) { // todo: resolve name in all namespaces... binding = ns.Resolve(name); if (null != binding) { break; } } return(binding); }