问题标签 [invokemember]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
202 浏览

.net - 如何在派生类上动态调用静态方法

在我的 ASP.Net MVC 页面中,我可以单击列标题以按该列排序,但这涉及 aspx 中的“魔术字符串”,这可能会导致运行时问题。我试图在运行时检查传递给排序依据的值是否有效。我有一个基类,我的所有实体都继承自:

这很好用,除非我试图验证在类层次结构中超过 1 层的嵌套属性。例如:

按 Patient.FirstName 对访问进行排序工作正常,递归地找到该属性,但是当我尝试根据 Patient.PatientType 对访问进行排序时,找不到 PatientType 属性。IsValidSearchProperty 最初是从查找 Patient 属性的 VisitEntity 调用的,它甚至显示为 PatientEntity 类型,但是当此方法使用 InvokeMember 递归调用自身时(这就是我尝试使用属性 Type 调用它的方式) ,在第二次调用中,GetType(T) 是 PersonEntity 类型,它没有 PatientType。关于如何正确解析嵌套调用中的类型的任何建议?

这个方法会被这样调用:


更新

以下是关于我如何使用它的更多信息:

SortExpression 类似于“Patient.PatientType True;Patient.FirstName True”

0 投票
1 回答
878 浏览

c# - 无法从 Windows 服务调用动态加载的 DLL 中的类

这是我在 C# DLL 中的类

我在运行时加载 DLL 并将 Class Type 加载到 _type 变量中。但是当我从这样的 Windows 服务调用函数 Execute 时:

我得到“异常已被调用的目标抛出。”
我在这里做错了什么?

0 投票
4 回答
92258 浏览

c# - C# 反射 - 加载程序集并调用方法(如果存在)

我想加载一个程序集(它的名称存储在一个字符串中),使用反射检查它是否有一个名为“CustomType MyMethod(byte[] a, int b)”的方法并调用它或抛出异常。我想我应该做这样的事情,但如果有人能就如何最好地做到这一点提供相同的建议,我将不胜感激:

这足够好,还是有更好/更快/更短的方法?那么构造函数呢,考虑到这些方法不是静态的——它们可以被简单地忽略吗?

调用 void Methods() 时,可以只写 t.InvokeMember(...) 还是应该始终使用 Object obj = t.InvokeMember(...)?

提前致谢。


编辑 我在下面提供了一个工作示例作为单独的答案。

0 投票
1 回答
11136 浏览

vb.net - Submit a method in webbrowser

I have a problem invoking a submit method in web page

This is my code

It does nothing.

Here is the html

0 投票
1 回答
153 浏览

mono - mono - 如何将 ref 与 CreateInstance 或 InvokeMethod 一起使用?

如何在 Mono 中使用 CreateInstance 传递“ref”?

例子:

这在我的 Windows 控制台应用程序中运行良好。问题是当我将它移植到 Mono 时,我得到一个丢失的方法异常,指出没有找到接受类型“SomeType”的“MyMethod”。

如果我从构造函数中删除 'ref',Mono 会找到该方法并毫无问题地运行它。

有任何想法吗?

提前致谢。

0 投票
1 回答
1043 浏览

reflection - 当我尝试使用 List 调用成员时,Type.InvokeMember 引发 MissingMethodException> 作为参数之一

我正在尝试使用 WCF Web 服务的 WSDL 动态创建代理并在其上调用方法。我试图通过在运行时构造代理来调用的 WCF 服务中的方法签名如下:

(我为此目的使用来自 MSDN 的 DynamicProxy 代码,该代码位于此处

我使用以下代码片段在运行时使用 wsdl 创建代理 -

上述调用中的方法具有下面列出的签名:

一旦我为包含上述方法的 Web 服务动态创建代理,并在其上执行 type.InvokeMember,我得到一个方法未找到异常。

但是,当我尝试使用所有字符串作为参数调用类似方法时,我可以成功调用该方法。例如,以下方法被成功调用

我使用 InvokeMember 的方式非常简单

有人可以帮我弄清楚我做错了什么吗?对于两个调用(ReceiveMessage 和 ReceiveMessage2),我都以相同的方式传递对象。提前致谢。这一直让我发疯。

编辑:

上述函数中的 commonBindingFlags 实际上是对此的封装——

0 投票
4 回答
1174 浏览

c# - UserControl 调用父方法 - 查看是否发生错误

在重定向到新页面之前,我有一个从父页面调用保存方法的用户控件。

如果在父保存方法中抛出错误或异常,它似乎被忽略并且子仍然重定向。有没有办法监听异常或以某种方式防止重定向是保存方法没有完全执行。

这是有问题的用户控件代码。

我很欣赏这些回应,但我希望尽可能保持模块化......

目前用户控件正在大约 15 个页面上使用,因此我已将用户控件添加到母版页。这些页面完全独立运行,用户控件仅充当附加层(导游),仅用于首次用户。用户控件仅由查询字符串中的参数调用,有关当前父页面的所有信息都是从数据库中的一行加载的。

我相信这给了我更大的灵活性,因为这个控件将被添加到更多的页面中。要将此用户控件功能添加到新页面,我只需在数据库中添加一个新行并确保父级的保存方法是公开的,这是我真正喜欢这种方法的地方。

有什么方法可以处理/侦听来自用户控件的父 ApplicationException ,而对每个父页面几乎没有更改?

0 投票
2 回答
3250 浏览

c# - 单击按钮后等待加载页面

我希望能够单击按钮,然后等待页面加载。我搜索,但没有正常工作的解决方案。这是代码的一部分:

我需要它是点击后,应用程序将加载页面,然后才转到另一个页面。此外,webBrowser1.Navigate(url)必须与单击的方法相同。因为这一切都在一个循环中。

请帮忙。

已编辑。 *更多代码*(第一个代码是我需要的示例)

当我单击时,必须加载下一页,并且我必须在下一页上解析标签,但它在下一页加载之前开始解析页面,因此它解析同一页面。

0 投票
1 回答
14185 浏览

c# - WebBrowser 控件中的 InvokeMember("click")

网站显示基于表格的选项可供选择。HTML

我想调用字符串“setBank(11,0,1)”的收音机点击。我如何?所有无线电名称都相同,但onclick()参数不同。

在 JavaScript 中有人会这样做,这里有一些代码,但我如何在 c# 中做到这一点

我试试这个,但从来没有工作:

JavaScript

0 投票
1 回答
284 浏览

c# - InvokeMember("Click") 进入 div

在 webbrowser 中控制一个预订网站。当我搜索 A 到 B 时,它会给出带有价格的项目列表。(价格是一个单选按钮)当我单击单选按钮时。在某些处理之后创建的新 div 一个名为“submitButton0”的提交按钮出现在网页上。在同一个网页上。网站位置没有改变。我想调用 submitButton0 的点击。

问题是这样的。webBrowser1_DocumentCompleted 事件已完成。但那个时候 submitButton0 不在页面中。务实的 readio 按钮已被点击。经过一些处理之后,submitButton0 出现在页面上。随着 submitButton0 的到来,我想快速调用它的点击。

它的解决方案是什么?