首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从C#使用Scripting.Dictionary

从C#使用Scripting.Dictionary
EN

Stack Overflow用户
提问于 2009-03-13 14:19:16
回答 2查看 6.1K关注 0票数 2

我需要在我的C#应用程序和另一个应用程序之间传递一个Scripting.Dictionary。我希望能够在我的C#应用程序中创建和修改字典的实例。

总的来说,我对Scripting.Dictionary和ActiveX知之甚少。各种论坛都建议我应该使用像System.Type.GetTypeFromProgID()和System.Activator.CreateInstance()这样的函数来创建实例。不幸的是,这意味着对于我其余的代码来说,它是一个不透明的对象。

这真的是应该这样做的吗?还是有更好的方法?理想情况下,我希望导入一个编译时类型,并像使用其他类型一样使用它。这个是可能的吗?

This article建议我从供应商那里获得一个“元数据程序集”--有人知道Scripting.Dictionary是否存在这样的程序集吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-16 09:26:00

我刚刚尝试了最简单的方法,它似乎起作用了:

在Visual Studio中添加对scrrun.dll的COM引用(它应该显示在“添加引用”对话框的COM选项卡中),Visual Studio将自动为您创建互操作文件。然后,您可以像这样编写代码:

代码语言:javascript
复制
Scripting.Dictionary d = new Scripting.DictionaryClass();
d.Add( ref myKey, ref myValue );
MyComType.Method( d );

如果你在这方面有任何问题,我可以发布更多的例子,或者可能是澄清。

票数 6
EN

Stack Overflow用户

发布于 2009-03-13 14:52:11

创建一个包装器字典类,该类实现IDictionary并使用Scripting.Dictionary作为其内部存储实现。在.NET代码中使用包装器,并通过COM将内部Scripting.Dictionary传递给其他应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/642928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档