빠른 질문입니다.개체가 범위를 벗어 납니까?
, 내가 실행할 때 이전 Tile
의 종결 자 가 Test1
를 호출 할 것이다 이제이 코드
public class Tile
{
public Collision Collision;
public Tile()
{
Collision = new Collision(this);
}
public ~Tile()
{
CollisionHandler.Remove(Collision);
}
}
public class Collision
{
public Collision()
{
CollisionHandler.Add(this);
}
}
public class Main
{
public Main()
{
Test1();
Test2();
}
public void Test1()
{
Tile[,] tiles = new Tile[20,20];
tiles[0,0] = new Tile();
tiles[0,0] = new Tile();
//Would calling the above call the old Tile's destructor?
}
public void Test2()
{
Tile[,] tiles = new Tile[20,20];
tiles[0,0] = new Tile();
Tile t = new Tile();
tiles[0,0] = t
//Would calling the above call the old Tile's destructor?
}
}
을 고려? Test2
은 어떨까요?
FIrstly : C#에서는 '최종 자'라고합니다. 그들은 동일하지 않습니다. 두 번째로, 당신 스스로 이것을 테스트하는 것을 멈추게하는 것은 무엇입니까? –
나는 비행기에서 내 전화기를 타고 있는데, 일부 기능을 대략적으로 작성하기 때문에 알고 싶었다. – redcodefinal