示例#1
0
            object IReflect.InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters)
            {
                if (name.StartsWith("[DISPID="))
                {
                    int        endIndex = name.IndexOf(']');
                    DispatchID dispid   = (DispatchID)int.Parse(name.Substring(8, endIndex - 8), CultureInfo.InvariantCulture);
                    object     ambient  = host.GetAmbientProperty(dispid);
                    if (ambient != null)
                    {
                        return(ambient);
                    }
                }

                throw E_FAIL;
            }
示例#2
0
            object?IReflect.InvokeMember(
                string name,
                BindingFlags invokeAttr,
                Binder?binder,
                object?target,
                object?[]?args,
                ParameterModifier[]?modifiers,
                CultureInfo?culture,
                string[]?namedParameters)
            {
                if (name.StartsWith("[DISPID="))
                {
                    int        endIndex = name.IndexOf(']');
                    DispatchID dispid   = (DispatchID)int.Parse(name.AsSpan(8, endIndex - 8), CultureInfo.InvariantCulture);
                    object     ambient  = _host.GetAmbientProperty(dispid);
                    if (ambient is not null)
                    {
                        return(ambient);
                    }
                }

                throw s_unknownErrorException;
            }