visual - 你在VB.NET中使用“我的”命名空间吗?




visual basic知乎 (8)

我正在考虑为VB.NET构建一个框架,并使用My命名空间将其插入到VB中似乎是一个合理的想法。 是吗?

如果它适合,通过一切手段,使用它。 既然你没有提供关于你的框架的进一步的信息,这很难说。 我不会把通用的东西放到My名字空间里(比如My.Computer东西),因为把它放在那里没有什么好处。 但是,以应用程序为中心的帮手很适合。

VB.NET有“我的”命名空间,但有多少VB.NET开发人员实际使用它?

  • 如果你不这样做,为什么?
  • 如果你使用它,为什么?

我正在考虑为VB.NET构建一个框架,并使用My命名空间将其插入到VB中似乎是一个合理的想法。 是吗?


从来没有使用过,尽管我从来没有真正看过它。

我不会建议你自己把任何东西放到我的名字空间里,这样做更加清楚,就像把它放在非VB的框架中一样。


我从来没有使用我的命名空间(我是一个C#开发人员),但我的VB同事并不如此。 我发现我的成员没有必要,因为在很多情况下,他们对我来说是违反直觉的,例如在我看来,打开一个文件与IO(即System.IO.File)有关,而不是与我的电脑(My .Computer.FileSystem)。 他们看起来总是那么分散,聚集在一起。

这只是一些已经可用的功能的重新滚动,否则,从所有语言。 而我不喜欢取决于Microsoft.VisualBasic.dll当我正在开发的.NET - 我总是喜欢系统。*。

然后,它总是有限的。 我发现VB开发人员在他们的应用程序中找不到“我的”命名空间中的某些内容,因为他们无法想象您可以在“系统”命名空间中使用某些内容。 这当然不是我的命名空间本身的问题。


我只是从用户的角度来使用它,我从来没有插入任何东西。 我认为我的名字空间是一些高度可靠的,由平台提供的全球帮助机制。 正式批准的捷径,真的。 我可能会惊讶于看到外部用户或第三方代码。

因此,我鼓励vb框架来定义自己适当命名的命名空间,而不是锁定到现有的My命名空间。 这样的框架不应该有“全球”的感觉。


我真的很喜欢VB.NET中的“我的”命名空间,我总是在我的WindowsForms应用程序中使用它,因为它非常直观。

我主要使用这些类别:

  • My.Computer:主要用于文件系统和网络目的
  • My.Application:版本号,当前目录
  • My.Resources:以强类型方式访问驻留在资源文件中的应用程序使用的资源。
  • My.Settings:非常方便

我认为,如果你的框架的My扩展符合的话,那么很多VB.NET程序员会喜欢它们。


爱我的! 任何能帮助我更快完成工作的东西,并提供我不必写的解决方案的代码,效果会更好!


据我所知,我的目的是成为一些常见但难以找到或难以使用的API任务的简单捷径。 您可能不应该完全将您的框架包含在我的下面。 (一方面,使用你的框架的C#人可能会感到不快。)

相反,你应该把它设计成一个正常的框架。 完成后,列出一些人们可能希望使用框架的常见任务。 看看其中的任何一个是否对我有帮助,特别是在有许多方法可以使用的类或方法的地方,但是它们有一个或两个真正常见的用法,可以用My缩写。

本文展示了如何扩展My,并在最后介绍了一些设计指南: 通过自定义My Namespace简化常见任务

至于你的主要问题,在VB.NET编码时,我尽可能经常使用My。 它将一些操作减少到一行代码。


我已经在我的VB.NET项目中使用了我,我不觉得内疚。 我主要是一个C#的人,但直到我转换我的公司到C#,我们是一个VB商店。 在我看来,我的命名空间是一个很好的语法糖。 正如我并不尴尬地使用C#的合并操作符和其他糖,我也不尴尬使用VB的糖。 (在某种程度上,我不会使用.NET仍然暴露的经典VB函数。)

也就是说, 不要在该命名空间中放置任何东西。 这是微软的命名空间,就像你不会在系统或微软下面放置任何东西一样,不要把任何东西放在My下面。 以后会引起混淆 - 如果不是,那么对于维护你的代码的其他人。 为自己的代码创建自己的名称空间。





vb.net