小编Ram*_*mar的帖子

具有相同名称的变量和函数在块内返回错误

如果我们声明一个变量和一个具有相同名称的函数,则它接受重新声明。但是,当我们在一个块内执行相同的操作时,它会显示重新声明错误。
码:

var x;
function x() {}; // no error.
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,我得到了错误。

{
  var inside; // re-declaration error.
  function inside() {};
}
Run Code Online (Sandbox Code Playgroud)

预期结果应该没有错误。

javascript var function redeclaration hoisting

6
推荐指数
2
解决办法
99
查看次数

重载和覆盖问题

我想覆盖一个方法(method(int x)):

public class A 
{
    public virtual void method(int x)
    {
        Console.WriteLine("base");
    }
}

public class B : A
{
    public override void method(int x)     
    { 
        Console.WriteLine("overridden");
    }

    public void method(Double x)    
    {
        Console.WriteLine("overloaded");
    } 
} 
Run Code Online (Sandbox Code Playgroud)

而我这样称呼它:

public static class Program  
{   
    public static void Main() 
    {
        B obj = new B();
        obj.method(1);
    } 
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,打印"重载"并且不像我期望的那样"覆盖".如果我更改class B为以下,Main方法现在打印"覆盖":

public class B
{
    public void method(int x)     
    { 
        Console.WriteLine("overridden");
    }

    public void method(Double x)    
    {
        Console.WriteLine("overloaded");
    } …
Run Code Online (Sandbox Code Playgroud)

c# overriding overloading

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