我有一个类构造函数里用out 或者 ref传引用值进来.
但是传进来的是一个局部变量.
我有什么办法.让他成为一个全局变量么?
因为这个参数是一个数据,我需要在整个类里面都要用它

解决方案 »

  1.   

    class a
    {  public SubjectGeneral(out int a,int b)
      {  }
      
    } 这里的a怎么在SubjectGeneral以外的地方访问?在其他地方的修改也要返回给传递过来的参数呀.
      

  2.   

    SubjectGeneral是我类的构造函数
    class a应该是
    class SubjectGeneral我写乱了.呵呵
      

  3.   

    ?我不明白.
    我就是在这个类的构造函数里传递给他一个引用值.要求在里面修改他.然后返回出去.比如int x=5;
    a test=new a(out x,1);然后我要在里面用类a里面的方法去修改这个x,并让改变反应到x来
    比如我在class a里面写一个
    add()加法函数
    {
       x+=1;
    }
    让加了以后的结果返回给x;不用return;
      

  4.   

    你把类设成PUBLIC
    然后这个类的返回值就可以被其他类访问啊
      

  5.   

    C++里面我直接给个指针就ok了
    class SubjectGeneral
    {
      private int *x;
      public SubjectGeneral(int *a,int b)
      {
          x=a;
      }
      
    }但是C#里面没指针呀.
      

  6.   

    晕.我的这个类是From.
    我要通过外部传过来的一个数据结构去构造窗体里的东西.
    然后在窗体里做完操作以后,结果要反映会以前的那个数据结构呀.
      

  7.   

    一般不会把传出参数在构造函数里,其实楼主可以这样实现
    class SubjectGeneral
    {  public SubjectGeneral(int b)
      {  }
    int A;
    public void AA(out int a)
    {
    A = a;
    this.ShowDialog();
    a = A;
    }
      
    }
      

  8.   

    类内部要修改他.然后里面的修改也要反映出去.这么说把.
    我有一个窗体.里面是做题目的系统.
    构造函数里面把一个参赛的队伍的类Team传进去.
    Team下面有个分数的变量Score.那么class SubjectGeneral
    {     public SubjectGeneral(Team a)//就是他的构造函数.
         {}
         public Add(int x)
         {
            a.Score+=x;
         }
    }这样.SubjectGeneral是一个窗体!
    窗体根据传进来的不同的Team类去处理不同的参赛队伍.
    那么.如果不用引用类型.那么每个参赛队伍的实际分数并没有改变
      

  9.   

    public SubjectGeneral(Team a)//就是他的构造函数.
    {
    这个里面应该怎么写,才能让a在其他的函数里面也能访问,并且修改a,可以让外部传递进的那个变量也发生改变
    }
      

  10.   

    Sample as follows:
    public class SubjectGeneral
    {
       private Team teamInput = null;
    public SubjectGeneral(ref Team a)
    {
       this.teamInput = a;
    //Other operation behind
    }
    }
      

  11.   

    Knight94(愚翁) 谢谢...http://community.csdn.net/Expert/topic/4639/4639581.xml?temp=.4761164
    这个帖子里去拿分吧.谢谢..您解决了问题.100分全部献上!谢谢.请到这里留个字.把这100分也给您没想到有是您愚翁兄
      

  12.   

    其实你给的分真的不多
    1、主窗体用FORM1
    2、从窗体用FORM2
    3、TEAM是个类
    可以这样来做:
    class FOMR1
    {
    ......
    int newscore;
    FORM2 frm2 = new FORM2(TEAM1);
    frm2.ShowDialog();
    newscore = frm2.score;//这里是可以访问的
    }
    class FORM2
    {
    //TEAM TEAM_NOW;
    public int score;
    FORM2(TEAM TEAM1)
    {
    //TEAM_NOW = TEAM1;
    score = TEAM1.score;
    }
    private AddScore(int x)
    {
    score + =x; 
    }
    }
    如果这样不行,我也没办法了,[email protected]                                               桂林电子工业学院计算机系
                                                     信息管理与信息系统
                                                       2006.3.29
      

  13.   

    class A
    {
       int xx=0;
       public A(out int x)
       {
         xx=x;   //以后引用xx就行了
       }
    }
      

  14.   

    现定义一个变量public类型的
    在把传进来的变量给赋值给它不就行了吗?
    public class Test{
       public int val=0;
       public Test(out int x)
       {
         val=x;     
        }
    }
    public static int Main(string agrs[])
    {
          int x=17;
          Test test=new Test(x);
          Console.WriteLine(this.test.val);
          return 0;}