[ Valerij Zajcev @ 27.06.2010. 13:27 ] @
Primer je bezveze ali posenta je da imam dve business entity klase, i sada klasa user ima instancu Class-a i klasa Class ima instancu User-a. Da li ovo ovako moze da se radi ili sam se zajj*** u racunu :). Problem nastaje kada napravim novu instancu User-a izbaci mi
Citat:

Cannot evaluate expression because the current thread is in a stack overflow state.

Code:

public class User
{
    public int UserId;
    public string FirstName;
    ...
    public Class class;

    public User
    {
         class = new Class();
    }
}

Code:

public class Class
{
     public int ClassId;
     public dateTime date;
     public User user = null;

     public Class()
     {
              user = new User
     }
}
[ the_tosic @ 27.06.2010. 13:37 ] @
Mislim da si pogresio, naizmenicno se pozivaju konstruktori User i Class i to izaziva stack overflow (posto se na steku kreiraju).

Mozda bi trebalo ovako da uradis:

Code:
 public class User
{
    public int UserId;
    public string FirstName;
    ...
    public Class class;

    public User(Class s)
    {
         class = s;
    }


Code:
 public class Class
{
     public int ClassId;
     public dateTime date;
     public User user = null;

     public Class()
     {
              user = new User(this);
     }


EDIT: odnosno mislim da c# ne kreira objekte na stack-u nego na heap-u, ali pozivi konstruktora preplave stack.

[Ovu poruku je menjao the_tosic dana 27.06.2010. u 15:00 GMT+1]
[ lonelyrider_44 @ 27.06.2010. 13:38 ] @
New user povlaci za sobom new class, new class povlaci za sobom new user,
new user povlaci za sobom new class.... U principu instanciranjem objekta
tipa user, ili class, zapochinje se beskonachna petlja, neka vrsta
rekurzije rekao bih.

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/