C# basic doubt

I have 2 functions in a class

class test
{
      function a()
      {
            set values to class shape
      }

      function b()
      {
            color = shape.color
      }
}

In function b() want the value of shape class which was set in function a()
Rahamathulla_JAsked:
Who is Participating?
 
ozymandiasConnect With a Mentor Commented:
class test
{

     // declare shape
     private Share myShape;

     public test(){
          // instantiate shape
          myShape = new Shape();
     }

     function a()
     {
          set values to class shape
     }

     function b()
     {
          color = myShape.color
     }
}
0
 
RytmisCommented:
This assumes you already have a Shape class with a Color property:

class test
{
     private Shape myShape;

     function a()
     {
          myShape = new Shape();
          myShape.Color = SomeColor;
     }

     function b()
     {
          Color color = myShape.Color;
     }
}

0
 
Rahamathulla_JAuthor Commented:
My problem is i am not able to declare myShape in the functon b. I hope i didnt declare globaly

private Shape myShape;

Am i right?
0
 
RytmisCommented:
If you declare myShape in function scope, you can't expect to get to it outside that function's scope. Instance variables are not global in scope, but are avaiable to all instance methods of a class.

Ozymandias' example instantiates myShape in the constructor so you don't have to do it in a() or b() but both can still access it.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.