【问题标题】:What is IExpando and where is it used?什么是 IExpando,它在哪里使用?
【发布时间】:2011-03-25 18:10:34
【问题描述】:

我正在使用反射器浏览 mscorlib 中的类型(就像你一样...),并在 System.Runtime.InteropServices.Expando 命名空间中遇到了 IExpando interface

我在反射器中进行了搜索,甚至查看了 MSDN,似乎 mscorlib 中没有类型实现此接口。 MSDN上也没有代码示例。

有没有人在自己的代码中实现过这个接口?

有人知道它的具体用途吗?

谢谢

【问题讨论】:

  • iirc,这与动态类型有关——但我可能完全错了。刚刚查看了链接,我相信它允许您将动态属性添加到动态类型。我敢肯定,其他人很快就会给出正确的答案。
  • Microsoft.JScript 程序集中查看Microsoft.JScript.JSObject - IExpando 接口有多种实现。
  • @Joan:我想是德克萨斯人。查找“expandomatic”。

标签: c# .net interopservices


【解决方案1】:

是的,今天有点不合时宜。它是 COM 接口类型的托管声明。也存在,请注意 ComTypes.IExpando 和 InteropServices.UCOMIExpando。用于编写运行时脚本以实现属性包的核心接口。特别是对于 Javascript,请检查 this thread

Microsoft 对 JScript 寄予厚望,它是与 C#、VB.NET 和托管 C++ 一起支持的主要语言。这没有成功。

被遗忘了,但还没有完全死去。 ExpandoObject 类又回到了 .NET 4.0

【讨论】:

    【解决方案2】:

    它是COM的IDispatchEx动态添加成员能力的.NET版本。

    http://blogs.msdn.com/b/shrib/archive/2007/09/04/ireflect-and-idispatch.aspx

    【讨论】:

      猜你喜欢
      • 2014-04-05
      • 2017-02-27
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      相关资源
      最近更新 更多