我可以将一个函数的引用传递给另一个函数吗

Can i pass a reference from one function to another

这里我有三个函数;将函数1的引用传递给函数2中的函数2.So,a是一个引用。那么为什么不允许将相同的引用传递给函数 3?不使用关键字 ref

函数 1:

public void funReadA()
 {
    double a=10;
    //read value for a
    funReadB(ref a);
 }

函数 2 :

 public void funReadB(ref double a)
   {
    double b = 25;
    a = 11;    
    // sum(a, b);this method call is not allowed
    sum(ref a, b);// why ref a is required? a is already a reference na?
   }

函数 3:

public double sum(ref double a,double b)
   {
       return a += b;
   }

调用站点上的 ref 关键字主要是为了确保编写调用代码的人知道他正在传递引用,以便值可以更改。

编程语言的角度来看,这并不是绝对必要的,但从程序员的角度来看,这是个好主意。