System.MonoType.GetPropertyImpl C# (CSharp) Method

GetPropertyImpl() protected method

protected GetPropertyImpl ( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo
name string
bindingAttr BindingFlags
binder System.Reflection.Binder
returnType Type
types Type
modifiers System.Reflection.ParameterModifier
return System.Reflection.PropertyInfo
		protected override PropertyInfo GetPropertyImpl (string name, BindingFlags bindingAttr,
								 Binder binder, Type returnType,
								 Type[] types,
								 ParameterModifier[] modifiers)
		{
			bool ignoreCase = ((bindingAttr & BindingFlags.IgnoreCase) != 0);
			PropertyInfo [] props = GetPropertiesByName (name, bindingAttr, ignoreCase, this);
			int count = props.Length;
			if (count == 0)
				return null;
			
			if (count == 1 && (types == null || types.Length == 0) && 
			    (returnType == null || returnType == props[0].PropertyType))
				return props [0];

			if (binder == null)
				binder = Binder.DefaultBinder;

			return binder.SelectProperty (bindingAttr, props, returnType, types, modifiers);
		}