그래서 최근에 변수를 다른 클래스 객체에 전달하여 변수를 변경할 수 있다는 것을 알았습니다. 그런 다음 새로받은 값을 변경하면 초기 값이 변경됩니다. 나는 이것을 매우 잘 설명하지 못했기 때문에 사과해야합니다. 여기에 제 테스트가 효과가 있었는지 여부를 확인할 수있었습니다.참고로 문제 전달
클래스 프로그램 { static objectA; 정적 객체 B b;
static void Main(string[] args)
{
a = new objectA();
b = new objectB(a);
Console.WriteLine(a.v + "\n");
Console.WriteLine(b.b.v + "\n");
a.v = 5;
Console.WriteLine(a.v + "\n");
Console.WriteLine(b.b.v + "\n");
b.b.v = 7;
Console.WriteLine(a.v + "\n");
Console.WriteLine(b.b.v + "\n");
Console.ReadLine();
}
}
class objectB
{
public objectB(objectA b)
{
this.b = b;
}
public objectA b;
}
class objectA
{
public objectA()
{
v = 0;
}
public int v;
}
나는 입자와 입자 엔진을 갖춘 프로젝트에서이 약 연주하며 훌륭하게 일했다, 그러나 나는 다른 무언가를 시도하고 좀 잃었어요.
은 내가 편집 할 때, 메인 클래스는 클래스 A가 초기화
추상 클래스 C.에게 상속 그것을 내 테스트와는 달리
클래스 C에 저장하는 값을 전달 클래스 B를 상속 클래스 A가 메인 클래스의 값은, 값이 지금은 그것이 추상적 아니다 참조 내 입자 엔진에서 찾고 클래스 C.
class MainExample {
private vector2 position = new vector2(175, 135);
private ship_ShipName ship_();
...
public MainExample()
{
ship_ = new ship_ShipName(position);
...
}
}
class ship_ShipName : Ship
{
public ship_ShipName(vector2 position)
{
this.position = position; //this.position being the position from Module.cs
}
}
class Ship : Module { ... }
abstract class Module { vector2 position; }
변경되지 않기 때문에 문제는 관련이 있어야합니다. 어떤 통찰력이라도 극명하게 평가되며, 내가 말하는 것은 '지나가는 참조'라고 생각하는 것이 옳다. 감사.
위의 코드에서 값으로 모든 것을 전달하고 있습니다. –
우리가 왜 프로그램이 무엇을하고 있는지 분석하고 싶다면, 우리에게 보여주십시오. 자신이하는 일을 보지 않고서는 왜 기대하지 않은 결과를보고 있는지에 대해서만 추측 할 수 있습니다. – Servy