Jas*_*n S 6 vb.net visual-studio
我正在维护一些VB.NET代码,以前的开发人员已经完成了这样的事情.Dim frmDuplicates = New frmDuplicates或者甚至Dim frmDuplicates = New FrmDuplicates(因为VB的不区分大小写而没有区别).
我不喜欢它作为编码约定,因为我想一目了然地将我的实例方法调用与类调用区分开来.
这与命名公共属性与其类型相同并不相同.我没有问题.
同样在VB项目的Visual Studio 2010中,如果您的对象与类名相同(当然不考虑大小写),那么Intellisense不会像在C#项目中那样突出显示不同颜色的类引用.此外,如果重命名对象引用(在VB项目中),它还将重命名任何类引用.在C#中,它将正确地重命名对象引用.
对于以下代码,
Module Module1
Sub Main()
Dim TestClass As TestClass = New TestClass()
TestClass.SharedMethod()
TestClass.InstanceMethod()
Console.ReadKey()
End Sub
End Module
Public Class TestClass
Public Shared Sub SharedMethod()
Console.WriteLine("SharedMethod()")
End Sub
Public Sub InstanceMethod()
Console.WriteLine("InstanceMethod()")
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
如果重命名对象引用TestClass,它也会重命名类引用TestClass.SharedMethod()所以如果你重命名它test,例如,你将有
test.SharedMethod() ' You will get a warning on this line
test.InstanceMethod()
Run Code Online (Sandbox Code Playgroud)
VB允许你从对象引用调用类方法(这不是一个好主意IMO),但至少你会得到一个警告.
Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,当对象名称与类名相同时,如何重命名对象引用,而不是VB项目中的类引用?找到/替换我唯一的选择?(find/replace中的正则表达式对我来说过去很有用).或者我可以在Visual Studio中使用其他东西吗?
首先要做的事情是:找到以前的开发人员,无论需要多长时间,然后打他一巴掌。我同意有人将 ThisClass 的实例命名为 thisClass,但仅此而已。
尝试更改类本身的名称,然后筛选“访问共享成员...”的警告,这很麻烦,但这就是良好编程实践存在的原因。如果有一种方法可以过滤警告,那将会非常有帮助。我不知道有一个。如果找到的话我会编辑。
编辑:您始终可以对窗格中的错误进行排序。=]
| 归档时间: |
|
| 查看次数: |
3408 次 |
| 最近记录: |