相关疑难解决方法(0)

在MSIL方法中hidebysig的目的是什么?

使用ildasm和C#程序,例如

static void Main(string[] args)
{

}
Run Code Online (Sandbox Code Playgroud)

得到:

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       2 (0x2)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  ret
} // end of method Program::Main
Run Code Online (Sandbox Code Playgroud)

hidebysig构造有什么作用?

cil

86
推荐指数
2
解决办法
2万
查看次数

VB.NET中的"阴影"与"覆盖"

两个关键字ShadowsOverrides有什么意义?他们做了什么以及哪个环境是一个或另一个更好?

.net vb.net oop overriding shadows

64
推荐指数
7
解决办法
7万
查看次数

阴影(VB.NET)和新(C#)之间的区别

简单的问题来自一个简单的问题:ShadowsVB.NET中的New关键字和C#中的关键字有什么区别?(关于方法签名当然).

.net c# vb.net new-operator shadows

10
推荐指数
2
解决办法
4001
查看次数

C#vs VB.Net,阴影和[重载(不改变参数)]之间的区别是什么

很抱歉这个问题很长,但我对C#不熟悉(我曾经使用过VB.Net)

我完全理解VB.Net和C#中的重写重载之间的区别.所以覆盖没有问题.

现在,在VB.Net中,Shadowing(使用关键字Shadows)和Overloading(使用带有相同参数的关键字Overloads' )之间存在差异,如下所示:

  • 使用阴影时,它会以相同的名称隐藏每个方法 - 无论参数如何 - 只能成为一个方法(阴影方法).
  • 使用Overloads时 - 使用相同的参数 - 它仅重载(阴影)具有相同名称和参数的方法.

考虑以下代码:

Class A
    Sub MyMethod()
        Console.WriteLine("A.MyMethod")
    End Sub
    Sub MyMethod(ByVal x As Integer)
        Console.WriteLine("A.MyMethod (x)")
    End Sub
    Sub MyMethod2()
        Console.WriteLine("A.MyMethod2")
    End Sub
    Sub MyMethod2(ByVal x As Integer)
        Console.WriteLine("A.MyMethod2 (x)")
    End Sub
End Class

Class B
    Inherits A
    Overloads Sub MyMethod()
        Console.WriteLine("B.MyMethod")
    End Sub
    Shadows Sub MyMethod2()
        Console.WriteLine("B.MyMethod2")
    End Sub
End Class …
Run Code Online (Sandbox Code Playgroud)

c# vb.net oop overloading shadowing

4
推荐指数
1
解决办法
398
查看次数

是否在VB.Net中需要'Overloads'关键字?

正如标题所说.从我在网上看到的Overloads关键字是可选的,但是有必要吗?在模块中使用它甚至似乎是一个错误.

vb.net overloading

1
推荐指数
1
解决办法
2199
查看次数

标签 统计

vb.net ×4

.net ×2

c# ×2

oop ×2

overloading ×2

shadows ×2

cil ×1

new-operator ×1

overriding ×1

shadowing ×1