MsieJavaScriptEngine.HostItemBase.InvokeStandardMember C# (CSharp) Method

InvokeStandardMember() protected method

protected InvokeStandardMember ( string name, BindingFlags invokeAttr, Binder binder, object target, object args, ParameterModifier modifiers, CultureInfo culture, string namedParameters ) : object
name string
invokeAttr BindingFlags
binder System.Reflection.Binder
target object
args object
modifiers System.Reflection.ParameterModifier
culture System.Globalization.CultureInfo
namedParameters string
return object
        protected object InvokeStandardMember(string name, BindingFlags invokeAttr, Binder binder, object target,
			object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters)
        {
            BindingFlags processedInvokeAttr = invokeAttr;
            if ((processedInvokeAttr.HasFlag(BindingFlags.GetProperty)
                || processedInvokeAttr.HasFlag(BindingFlags.PutDispProperty))
                && !_properties.Any(p => p.Name == name)
                && _fields.Any(p => p.Name == name))
            {
                if (processedInvokeAttr.HasFlag(BindingFlags.GetProperty))
                {
                    processedInvokeAttr &= ~BindingFlags.GetProperty;
                    processedInvokeAttr |= BindingFlags.GetField;
                }
                else if (processedInvokeAttr.HasFlag(BindingFlags.PutDispProperty))
                {
                    processedInvokeAttr &= ~BindingFlags.PutDispProperty;
                    processedInvokeAttr |= BindingFlags.SetField;
                }
            }

            object result = _type.InvokeMember(name, processedInvokeAttr, binder, target,
                args, modifiers, culture, namedParameters);

            return result;
        }