加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB.NET和System.Linq.Dynamic命名空间

发布时间:2020-12-17 07:12:56 所属栏目:百科 来源:网络整理
导读:我会用 System.Linq.Dynamic. 我添加了指定的Dynamic.vb文件,其开头如下: Option Strict OnOption Explicit OnImports System.Collections.GenericImports System.TextImports System.LinqImports System.Linq.ExpressionsImports System.ReflectionImports
我会用 System.Linq.Dynamic.

我添加了指定的Dynamic.vb文件,其开头如下:

Option Strict On
Option Explicit On

Imports System.Collections.Generic
Imports System.Text
Imports System.Linq
Imports System.Linq.Expressions
Imports System.Reflection
Imports System.Reflection.Emit
Imports System.Threading
Imports System.Runtime.CompilerServices

Namespace System.Linq.Dynamic
  Public Module DynamicQueryable

到我的(VB.NET)解决方案.

现在,Visual Studio在System.XXX引用的项目文件中不再识别,建议我将它们更改为Global.System.XXX

是Das,以及如何管理它?

解决方法

看起来好像发生了一些命名空间隐藏.在VB.NET项目中,存在一个根命名空间,默认情况下设置为项目名称.你可以从Project – >中查看这个.属性 – >申请 – >根命名空间.

当一个类显式指定一个名称空间时,根名称空间会以它为前缀.例如,假设您的根命名空间是RootNs.由于DynamicLinq.vb文件指定了System.Linq.Dynamic的命名空间,因此这实际上是RootNs.System.Linq.Dynamic.这会隐藏常规的.NET System命名空间,这就是Visual Studio提示您使用Global为所有命名空间添加前缀的原因.

值得注意的是,在C#中这个概念是不同的,所以当有人使用DynamicLinq的C#版本时,我不希望出现这个问题.

要解决此问题,您有几个选择(选择一个):

>从DynamicLinq.vb中删除名称空间声明,并从该文件中使用System.Linq.Dynamic的对象中删除所有完整限定条件.换句话说,System.Linq.Dynamic.Signature成为签名.要在其他地方使用它,请添加Imports System.Linq.Dynamic.>将项目/属性/应用程序中的根命名空间删除为空.通过这样做,您的项目将更像C#,您应该在所有类中明确指定名称空间.要在其他地方使用它,请添加Imports System.Linq.Dynamic.>保留根命名空间,只需更改DynamicLinq.vb的命名空间.例如,将其更改为NewNs.Linq.Dynamic并像以前一样从Signature中删除完整的资格.要在其他地方使用它,请添加Imports RootNs.NewNs.Linq.Dynamic(注意RootNs前缀).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读