r4hgozar
دوشنبه 22 دی 1393, 18:47 عصر
سلام.
من یه دستوری دارم بصورت زیر که نمی شه اون رو بصورتی تبدیل کنم که در سازنده پیش فرض کلاس استفاده بشه چو interface و وقتی می خوام در ویو استفاده کنم باز از من پارامتر ورودی می گیره.
[Inject]
public IVisitService _service { get; set; }
حالا من این دستور دارم که در گلوبال داره فراخونی میشه
see.See();
خوب حالا وقتی این دستور اجرا میشه دستور بالایی که در بدنه اصلی کلاس visit هست اصلا اجرا نمیشه و مقدار _service من برابر null میشه.
من چی کار باید بکنم تا این دستور بصورت پیش فرض اول اوخ خط های بالای رو اجرا کنه و بعد بیاد سراغ این کلاس داخلی؟
این هم برنامه global
protected void Session_Start(object sender, EventArgs e)
{ var see = new Visitor();
see.See();
}
این کلاس
public class Visitor {
[Inject]
public IVisitService _service { get; set; }
public void See()
{
viewmodel.All = OnlineUser - 1;
viewmodel.Date = d;
_service.Insert(viewmodel);
}
}
من یه دستوری دارم بصورت زیر که نمی شه اون رو بصورتی تبدیل کنم که در سازنده پیش فرض کلاس استفاده بشه چو interface و وقتی می خوام در ویو استفاده کنم باز از من پارامتر ورودی می گیره.
[Inject]
public IVisitService _service { get; set; }
حالا من این دستور دارم که در گلوبال داره فراخونی میشه
see.See();
خوب حالا وقتی این دستور اجرا میشه دستور بالایی که در بدنه اصلی کلاس visit هست اصلا اجرا نمیشه و مقدار _service من برابر null میشه.
من چی کار باید بکنم تا این دستور بصورت پیش فرض اول اوخ خط های بالای رو اجرا کنه و بعد بیاد سراغ این کلاس داخلی؟
این هم برنامه global
protected void Session_Start(object sender, EventArgs e)
{ var see = new Visitor();
see.See();
}
این کلاس
public class Visitor {
[Inject]
public IVisitService _service { get; set; }
public void See()
{
viewmodel.All = OnlineUser - 1;
viewmodel.Date = d;
_service.Insert(viewmodel);
}
}