Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net “转到定义”不适用于构造函数;这是一个bug还是设计的?_Vb.net_Visual Studio 2013 - Fatal编程技术网

Vb.net “转到定义”不适用于构造函数;这是一个bug还是设计的?

Vb.net “转到定义”不适用于构造函数;这是一个bug还是设计的?,vb.net,visual-studio-2013,Vb.net,Visual Studio 2013,如果我有这门课: Class Test Sub New() End Sub End Class 我有一个例子: Dim x = New Test 当我右键单击New并选择Go To Definition时,它什么也不做。这是一个bug,还是出于设计?如果是后者,原因是什么?转到定义适用于变量、数据类型和方法,而不是关键字 : 使用Go to Definition命令导航到方法或变量定义的过程现在可能对您没有帮助,但在撰写本文时Visual Studio 2015 CTP6

如果我有这门课:

Class Test
    Sub New()

    End Sub
End Class
我有一个例子:

 Dim x = New Test

当我右键单击New并选择Go To Definition时,它什么也不做。这是一个bug,还是出于设计?如果是后者,原因是什么?

转到定义适用于变量、数据类型和方法,而不是关键字

:


使用Go to Definition命令导航到方法或变量定义的过程现在可能对您没有帮助,但在撰写本文时Visual Studio 2015 CTP6的工作原理与您预期的完全相同。如果我有:

Public Class Test
    Sub New()
        '
    End Sub
End Class
如果我有电话:

    Dim x = New Test

如果我单击New并转到Definition,它会将我带到构造函数。谢谢你,罗斯林

不,这不是基于意见的。这要么是一个bug,要么是出于设计,这将是一个事实,而不是一个观点。如果你真的去定义新测试的测试部分,它应该把你带到构造函数,就像C@Cameron一样-不,它不是;它将带您进入类定义。在C语言中,使用go-to-definition on-new去构造函数。嗯,我学到了一些关于C的IntelliSense for new的新东西。我猜他们没有为VB实现它如果你仔细看,在不同的语言服务之间有很多这样的细微差别。太糟糕了,这是一个有用的特性。@Cameron-所以我想那将是对bug的投票,对吗?构造函数是一种方法。测试它在C。。。在那里工作很好。你能不能提供一个与源代码的链接,说明它不适用于构造函数?显然,c和vb.net之间在实现方式上有一点不同。如果您尝试转到任何c关键字的定义,您会收到一条错误消息,说明找不到该关键字。在VB中尝试它,它只是被忽略了。在VB中,New既是一个实例化词,也是一个定义构造函数的关键字。OPs练习在有或没有构造函数的类上工作,因此它只是简单地将您导航到该类。在VB中,只需转到类本身的定义,而不是New关键字,行为将是相同的。@Jeremy如果您尝试转到任何c关键字的定义,您会收到一条错误消息,说明找不到它-您在New上尝试过吗?它会根据需要将您带到构造函数中。@roryap是的,有一点不同。这很好。至少他们在未来的版本中解决了这个问题,而不是像我在其他bug和缺陷中看到的那样将它从一个版本带到另一个版本。谢谢你。