访问另一个类中的公共部分类变量

时间:2014-04-24 12:29:50

标签: c#

我有一个具有以下结构的课程: -

namespace CL.Forms
{
    public partial class A
    {
        public StringBuilder sb = new StringBuilder();

        sb.Append("a");
        sb.Append("b");
    }

    public class B
    {
        A objA=new A();
        string s= objA.sb.ToString();
    }
}

我想从类A访问班级B中的变量。我尝试了上面的方法。但它不起作用。任何人都知道答案。请帮帮我。

3 个答案:

答案 0 :(得分:1)

您需要创建构造函数或方法

namespace CL.Forms
{
    public partial class A
    {
        public StringBuilder sb = new StringBuilder();

       //Constructor to set default for string builder
        public A()
        {
            sb.Append("a");
            sb.Append("b");
        }
    }

    public class B
    {
        public B()
        {
            A objA=new A();
            string s= objA.sb.ToString();
        }
   }

答案 1 :(得分:1)

您需要将代码放在方法中,例如构造函数:

public partial class A
{
    public StringBuilder sb = new StringBuilder();

    public A()
    {
       sb.Append("a");
       sb.Append("b");
    }
}

public class B
{
    A objA = new A();
    public B() 
    {
        string s = objA.sb.ToString();
    }
}

答案 2 :(得分:0)

namespace CL.Forms
{
    public partial class A
    {
        //decalring sb
        public StringBuilder sb = new StringBuilder();
        //giving sb default values incase you dont change it just call the variable but it has
        //but it has to happen in a method
        public A()
        {
            sb.Append("a");
            sb.Append("b");
        }
        // a seperate methode to return sb
        public StringBuilder getSb()
        {
            return sb;
        }
    }
    public static class B
    {
        //same stuff
        A objA = new A();
        public void methodNameHere()
        {
            string s = objA.sb.ToString();
        }
    }
}

试试这个,你忘了在你的类中实现方法。 这是至关重要的其他它不会工作。但是,如果你只是谷歌一些教程为OOPp>也许更好