为什么这么多“Function a“???

VBAdvisor 2008-07-30 10:42:31
.NET新手:为什么这么多“Function a“???在VB6中是行不通,在VB.NET是可以的吗?(用REflector反编译的结果)



Imports System
Imports System.Drawing

Namespace FlexGrid7
Friend Class a5
' Methods
Public Shared Sub a(ByVal A_0 As Graphics, ByVal A_1 As Color, ByVal A_2 As Integer, ByVal A_3 As Integer, ByVal A_4 As Integer)
If (A_4 > 0) Then
Dim num As Single = (CSng(A_4) / 7!)
[Using] pen As Pen = New Pen(A_1)
A_2 = (A_2 + 3)
A_3 = (A_3 + 3)
Dim tfArray As PointF() = New PointF() { New PointF(CSng(A_2), (A_3 + (2! * num))), New PointF((A_2 + (2! * num)), (A_3 + (4! * num))), New PointF((A_2 + (6! * num)), CSng(A_3)) }
A_0.DrawLines(pen, tfArray)
Dim tfArray2 As PointF() = New PointF() { New PointF(CSng(A_2), (A_3 + (3! * num))), New PointF((A_2 + (2! * num)), (A_3 + (5! * num))), New PointF((A_2 + (6! * num)), (A_3 + (1! * num))) }
A_0.DrawLines(pen, tfArray2)
Dim tfArray3 As PointF() = New PointF() { New PointF(CSng(A_2), (A_3 + (4! * num))), New PointF((A_2 + (2! * num)), (A_3 + (6! * num))), New PointF((A_2 + (6! * num)), (A_3 + (2! * num))) }
A_0.DrawLines(pen, tfArray3)
End [Using]
End If
End Sub

Public Shared Function a(ByVal A_0 As Graphics, ByVal A_1 As Color, ByVal A_2 As Integer, ByVal A_3 As Integer, ByVal A_4 As Integer, ByVal A_5 As b1) As Integer
If (A_4 <= 0) Then
Return 0
End If
[Using] brush As Brush = New SolidBrush(A_1)
If ((A_5 = b1.a) OrElse (A_5 = b1.b)) Then
Dim num As Integer
Dim num2 As Integer = (A_2 + (2 * (A_4 - 1)))
If (A_5 = b1.a) Then
num = -1
A_3 = (A_3 + (A_4 - 1))
Else
num = 1
End If
Do While (A_2 <= num2)
A_0.FillRectangle(brush, A_2, A_3, ((num2 - A_2) + 1), 1)
A_2 += 1
num2 -= 1
A_3 = (A_3 + num)
Loop
Else
Dim num4 As Integer
Dim num3 As Integer = (A_3 + (2 * (A_4 - 1)))
If (A_5 = b1.c) Then
num4 = -1
A_2 = (A_2 + (A_4 - 1))
Else
num4 = 1
End If
Do While (A_3 <= num3)
A_0.FillRectangle(brush, A_2, A_3, 1, ((num3 - A_3) + 1))
A_3 += 1
num3 -= 1
A_2 = (A_2 + num4)
Loop
End If
End [Using]
Return ((2 * (A_4 - 1)) + 1)
End Function

Public Shared Function a(ByRef A_0 As Integer, ByRef A_1 As Integer, ByVal A_2 As Integer, ByVal A_3 As Integer, ByVal A_4 As b1, ByVal A_5 As Boolean) As Integer
Dim num As Integer
Dim num2 As Integer
Dim num3 As Integer = IIf((A_2 > A_3), A_3, A_2)
If A_5 Then
num2 = ((num3 / 3) Or 1)
Else
num2 = ((num3 / 2) Or 1)
End If
If ((A_4 = b1.a) OrElse (A_4 = b1.b)) Then
num = (((num2 - 1) / 2) + 1)
If A_5 Then
A_1 = (A_1 + ((A_3 - (2 * num)) / 2))
Else
A_1 = (A_1 + ((A_3 - num) / 2))
End If
A_0 = (A_0 + ((A_2 - num2) / 2))
Return num
End If
num = (((num2 - 1) / 2) + 1)
If A_5 Then
A_0 = (A_0 + ((A_2 - (2 * num)) / 2))
Else
A_0 = (A_0 + ((A_2 - num) / 2))
End If
A_1 = (A_1 + ((A_3 - num2) / 2))
Return num
End Function

Public Shared Sub a(ByVal A_0 As Graphics, ByVal A_1 As Brush, ByVal A_2 As Integer, ByVal A_3 As Integer, ByVal A_4 As Integer, ByVal A_5 As Integer)
A_0.FillRectangle(A_1, A_2, A_3, A_4, 1)
A_0.FillRectangle(A_1, ((A_2 + A_4) - 1), A_3, 1, A_5)
A_0.FillRectangle(A_1, A_2, A_3, 1, A_5)
A_0.FillRectangle(A_1, A_2, ((A_3 + A_5) - 1), A_4, 1)
End Sub

Public Shared Sub a(ByVal A_0 As Graphics, ByVal A_1 As Color, ByVal A_2 As Integer, ByVal A_3 As Integer, ByVal A_4 As Integer, ByVal A_5 As Integer)
A_4 = (A_4 - 6)
A_2 = (A_2 + 3)
Dim width As Integer = (A_4 / 5)
If (width > 0) Then
A_3 = (A_3 + ((2 * A_5) / 3))
A_2 = (A_2 + ((A_4 Mod 5) / 2))
Dim brush As Brush = New SolidBrush(A_1)
Dim i As Integer
For i = 0 To 3 - 1
A_0.FillRectangle(brush, A_2, A_3, width, width)
A_2 = (A_2 + (2 * width))
Next i
End If
End Sub

Public Shared Sub a(ByVal A_0 As Graphics, ByVal A_1 As Color, ByVal A_2 As Integer, ByVal A_3 As Integer, ByVal A_4 As Integer, ByVal A_5 As Integer, ByVal A_6 As b1, ByVal A_7 As Boolean)
A_4 = (A_4 - 4)
A_5 = (A_5 - 4)
A_2 = (A_2 + 2)
A_3 = (A_3 + 2)
If ((A_4 > 0) AndAlso (A_5 > 0)) Then
Dim num As Integer = a5.a((A_2), (A_3), A_4, A_5, A_6, A_7)
a5.a(A_0, A_1, A_2, A_3, num, A_6)
If A_7 Then
If ((A_6 = b1.a) OrElse (A_6 = b1.b)) Then
A_3 = (A_3 + num)
Else
A_2 = (A_2 + num)
End If
a5.a(A_0, A_1, A_2, A_3, num, A_6)
End If
End If
End Sub

End Class
End Namespace
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBAdvisor 2008-07-30
  • 打赏
  • 举报
回复
估计这个DLL也是成VB6转换过来的,命名很奇怪:Class的名字是-a.vb,a0.vb,a1.vb,b0.vb...只到x.vb,y.vb.z.vb,z0.vb
VBAdvisor 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 atlasroben 的回复:]
vb和vb.net差别太大了,你最好把他看成一门新的语言来理解
[/Quote]

谢谢。头脑一时还转不过来,毕竟用VB6作为主要开发工具有近十年时间了。
atlasroben 2008-07-30
  • 打赏
  • 举报
回复
vb和vb.net差别太大了,你最好把他看成一门新的语言来理解
VBAdvisor 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 LYDF4151 的回复:]
对象的多态性, 过程函数名相同,但是参数数量不同,这就是重载。
[/Quote]

貌似与VB6有很大不一样。转来转去,很难读懂。
maddemon 2008-07-30
  • 打赏
  • 举报
回复
有的是Sub 有的是Function
注意参数都不一样 只是重载……
可能是为了方便调用吧
LYDF4151 2008-07-30
  • 打赏
  • 举报
回复
对象的多态性, 过程函数名相同,但是参数数量不同,这就是重载。
atlasroben 2008-07-30
  • 打赏
  • 举报
回复
貌似都是a的重载版本= =#

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧