2009-09-16 54 views
1

我在我的代码中使用第三方.net dll,当我从VB.Net应用程序添加对此dll的引用时,它显示了intellisense和对象浏览器中的不同类比当我在C#项目中使用它。为什么会有这种差异?为什么相同的dll暴露不同的类在C#和.net

编辑

如果设计者所预期的这种方式我想知道如何做到这一点我自己的DLL。

+0

你的意思是不同的? C#显示类A,B,C和vb.net显示D,E,F吗?还是说vb.net比c#显示更少的类? – shahkalpesh 2009-09-16 17:03:54

+0

@shahkalpesh VB.Net项目中显示的类是C#项目中显示的类的子集。 – Raminder 2009-09-16 17:10:37

回答

3

不知道具体情况,很难说。浮现在脑海中的一些可能性:

  • 设计师做是故意这样的库
  • 零件不符合CLR,因此没有比它写在一个其他语言可见
1

VB.NET提供了“隐藏高级成员”的选项。也许这是你没有看到的“高级”成员。

+0

如果OP回答我提出的问题,情况可能如此。 – shahkalpesh 2009-09-16 17:06:47

0

这里要记住的一件事是,intellisense是程序中所允许的和合法的近似值。它的目标是非常接近真实,但往往不是。有几个原因,一个特定类型可能会或可能不会在智能感知出现,但确实在C#

  • 其中2个项目可能与目标装配朋友
  • 智能感知过滤器可以存在于文档文件的哪从智能感知隐藏他们的类型
  • 某些种类可能会隐藏
  • 属性过滤器,由于考虑到它也不会SH在名称

情况下,只有差异在对象浏览器中,我的猜测是该类有智能感知或属性过滤器,导致它被VB.Net隐藏。

+0

忘记朋友集会,因为它的第三方DLL。 – Raminder 2009-09-16 17:11:32

相关问题