C# IDispatchEx在哪里存在?

C# IDispatchEx在哪里存在?,c#,interop,C#,Interop,找不到包含IDispatchEx接口的库。我想实现这个接口,但找不到。 有人知道它在哪里吗 谢谢, 保罗。你到底想做什么?这是在C#内使用的吗?还是从外部(COM) 如果您只需要浏览器支持,那么可以在WebBrowser中设置主机并设置 在C#3.0中,您可以使用扩展方法对类型添加方法进行排序: public static void Bar(this Foo foo, int someArg) {...} .... Foo foo = ... foo.Bar(123); 但这仍然是静态类型的。

找不到包含IDispatchEx接口的库。我想实现这个接口,但找不到。 有人知道它在哪里吗

谢谢,
保罗。

你到底想做什么?这是在C#内使用的吗?还是从外部(COM)

如果您只需要浏览器支持,那么可以在
WebBrowser
中设置主机并设置

在C#3.0中,您可以使用扩展方法对类型添加方法进行排序:

public static void Bar(this Foo foo, int someArg) {...}
....
Foo foo = ...
foo.Bar(123);

但这仍然是静态类型的。C#4.0在CLR/DLR中为真正的动态对象引入了
dynamic
,但您需要实现
IDynamicObject
。而且它也不平凡。

如果您想编写一个实现该接口的托管类,您首先需要定义该接口,因为它在.NET中不存在。这里有一个简单的定义。IMHO实现此接口将不是一项简单的任务。

谢谢!但是,当从javascript调用C#类时,我想在C#类中模拟未列出的属性(或方法)。例如,var o=newactivexobject('object');o、 富(hi);;请注意,我的C#类中不存在Foo方法。所以我想推动IExpando.AddMethod来实现我的目标,但是使用IExpando.AddMethod我遇到了一些问题——调用unexisted方法时它不会调用。但当调用未列出的字段时(我是说IExpando.AddField被激发),它工作得很好。所以我想尝试一下IDispatchEx接口,我最近在寻找
IDispatchEx
C#的互操作定义和包装,但找不到,这个答案中的链接似乎已经消失了。所以我必须从头开始创建它,以防有人需要它。