PDA

View Full Version : سوال: کلاس نویسی برای یک مثال کوچیک؟



پیام حیاتی
جمعه 07 آذر 1393, 14:47 عصر
سلام
می خوام یک کلاس بنویسم که عبارت hello world را در خروجی نمایش بده،تابع رو نوشتم :

private void bingo()
{
Response.Write("Hello World!");
}




- حالا این تابع رو چطور در کلاس قرار بدم؟
- نحوه فراخوانی کلاس به چه شکل است؟

به این شکل جواب نمیده :

public class myclass
{
public void hello()
{
//Contetnt
}
}


تشکر

ashkufaraz
جمعه 07 آذر 1393, 17:22 عصر
public class myclass

{
public void hello()
{

//Contetnt
}
}



myclass t=new myclass();
t.hello();


نمی دونم منظورتون اینه@؟

پیام حیاتی
جمعه 07 آذر 1393, 18:42 عصر
بله اما چرا دستور response.wirte رو نمیتونم در تابع بعد از قراردادن آن در کلاس بنویسم؟!

126120

Rejnev
جمعه 07 آذر 1393, 20:15 عصر
از این کلاس استفاده کن:
HttpContext.Current.Response.Write("Hello world");

پیام حیاتی
شنبه 08 آذر 1393, 14:04 عصر
از این کلاس استفاده کن:
HttpContext.Current.Response.Write("Hello world");

برای انجام هر عملیات دیگری در تابع باید همواره در ابتدا HttpContext.Current را قرار بدیم؟

Rejnev
شنبه 08 آذر 1393, 19:34 عصر
این Property در ابتدای اجرای Application مقدار دهی میشه (یعنی زمانی که کاربر درخواستی رو به سرور ارسال میکنه و سرور Application رو اجرا میکنه)
دقت داشته باشین که HttpContext.Current.Response و Response ی که در صفحه aspx یا یوزرکنترلها هست، هر دو از یک جا نمونه گیری شده اند و با هم برابر هستند. پس زمانی که که نیاز به دستیابی به Response یا Request یا Session یا ... دارید و در کلاس Page یا UserControl ها نیستید، میتونید از HttpContext.Current استفاده کنید.

برای کد نویسی راحت تر هم میتونید به عنوان مثال شبیه زیر عمل کنید:


class MyClass
{
HttpContext cx;
public MyClass()
{
cx=HttpContext.Current;
}

void SomeMethod()
{
cx.Response.Write("text");
}
}