PDA

View Full Version : سوال: نبود ماژول در #C



fa_karoon
پنج شنبه 14 مهر 1390, 00:47 صبح
سلام دوستان
با توجه به اینکه در #C مانند VB چیزی به اسم ماژول که بتوان در آن چند کلاس و متغیر و .... اینها تعریف کرد، آیا در #C چیز جایگزینی برای این کار وجود دارد یا خیر؟
پیشاپیش از راهنمایی تان سپاسگزارم

sanay_esh
پنج شنبه 14 مهر 1390, 02:40 صبح
هر چیزی که در وی بی وجود داره در سی شارپ هم موجود است تفاوتی ندارند!!!

mmd2009
پنج شنبه 14 مهر 1390, 03:25 صبح
با درود

شما در یک namespace هر میزان که نیاز دارید کلاس و متغیر تعریف کنید .

موفق باشید

mobtakercode
پنج شنبه 14 مهر 1390, 07:56 صبح
هر چیزی که در وی بی وجود داره در سی شارپ هم موجود است تفاوتی ندارند!!!

این حرف درست نیست همانطور که حالا می بینید در C# ماژول وجود ندارد چون C# یک زبان کاملا شی گرا است و ماژول معنا ندارد

به مطالعه کلاسهای static در C# بپردازید.

nilmil_nil
پنج شنبه 14 مهر 1390, 08:28 صبح
چرا اینقدر می پیچونین قضییه رو
فکر کنم دوستمون می خواد یه کلاس بسازه که شامل چند متد و متغیر باشه
دوست عزیز از منوی Project گزینه AddClass رو بزن
یه اسم بهش بده و تمام توابع و متغیر هات رو توش تعریف کن
بعد هر جا خواستی یه نمونه ازش بساز بعد استفاده کن !

fa_karoon
پنج شنبه 14 مهر 1390, 13:01 عصر
از پاسخ تمام دوستان ممنونم
برای روشن شدن مطلب یه توضیح کوچیک دیگه بدم
ما تویه VB یه ماژول تعریف می کردیم، تو او ماژول چند کلاس تعریف می کردیم که تو هر کلاس می شد چندتا متد و تابع نیز تعریف کرد، حالا غیر از کلاس های اینچنینی تو این ماژول ما متغیر و Enum و Property و اینها هم تعریف می کردیم و از همه مهم تر چیزی که من می خوام یه نمونه از کلاس های موجود تو اون ماژول رو همونجا New می کردیم و در همه پروژه از اون نمونه استفاده می کردیم
جناب mmd2009 تو NameSpace فقط می تونیم enum,Class,delegate,Interface,struct تعریف کنیم، لطفا راهنمایی کنید من کجا می تونم متغیری تعریف کنم که تو تمام پروژم بتونم بهش دسترسی داشته باشم، یا به جای اینکه هر جا به محتویات کلاسم نیاز دارم یه نمونه ازش بسازم، یه بار ازش new کنم و تو تمام پروژم بتونم ازش استفاده کنم
باز هم از تمام دوستانی که وقت گذاشتند ممنونم

nilmil_nil
پنج شنبه 14 مهر 1390, 15:34 عصر
توی فایل Program.cs یه متغیر استاتیک تعریف کن
بعد میتونی توی تمام پروژه ازش استفاده کنی

fa_karoon
پنج شنبه 14 مهر 1390, 18:41 عصر
توی فایل Program.cs یه متغیر استاتیک تعریف کن
بعد میتونی توی تمام پروژه ازش استفاده کنی

آیا فایل Program.cs فایل خاصی هست؟ همینجوری یه کلاس ایجاد کنم و بعد توش ..... نمی دونم منظورتون چیه ببخشید؟
بعد تازه اون New کردن کلاس ها که جریانش رو قبلا توضیح دادم چی؟

nunegandom
جمعه 15 مهر 1390, 02:18 صبح
وقتی یه پروژه بسازید به صورت پیشفرض یک Program.cs توی پروژه اضافه میشه که میتونید از طریق Solution Explorer بهش دسترسی داشته باشید.
هر چیزی رو که static تعریف کنی میتونی تویه تمام پروژه بهش دسترسی داشته باشی ولی دیگه نمیتونی ازش شئ بسازی.نکته دیگه اینکه: وقتی متود استاتیک تعریف کنی نمیتونی به غیر استاتیک ها دسترسی داشته باشی. در ضمن متغیر استاتیک بر متغیر غیر استاتیک همنام خودش اولویت داره....

mmd2009
جمعه 15 مهر 1390, 02:19 صبح
از پاسخ تمام دوستان ممنونم
جناب mmd2009 تو NameSpace فقط می تونیم enum,Class,delegate,Interface,struct تعریف کنیم، لطفا راهنمایی کنید من کجا می تونم متغیری تعریف کنم که تو تمام پروژم بتونم بهش دسترسی داشته باشم، یا به جای اینکه هر جا به محتویات کلاسم نیاز دارم یه نمونه ازش بسازم، یه بار ازش new کنم و تو تمام پروژم بتونم ازش استفاده کنم
باز هم از تمام دوستانی که وقت گذاشتند ممنونم

جمله خودم رو به این صورت تحصیح می کنم :

"شما در یک namespace هر میزان که نیاز دارید کلاس و در کلاس متغیر تعریف کنید ."

شما مثلا به این روش عمل کنید :


public class Var
{
public string MyVar { get; set; }
}



پ ن : کلاس Program.cs تو سولوشن هست منظورشون اونه که تو اون کلاس رو تعریف بکنید که البته من کلاسی که خودم در بالا رو نوشتم پیشنهاد می کنم.

پ ن 2 : برای دستیابی به متغیر ها که ثابت هستن و تغییری توشون ایجاد نمیشه روش پراپریتی بهتره. اینو در نظر داشته باشید هر بار کلاس رو new می کنید دیگه خبری از مقدار قبلی نیست.
موفق باشید

پ ن 3 : اگر شما نیاز دارید که متغیری داشته باشید که همیشه تغییرش بدید و هر بار که تغییرش دادید باز هم ازش استفاده بکنید پیشنهاد می کنم از استاتیک استفاده بکنید چون دیگه نیازی به New شدن نداره یا بهتر بگم هم رده با کلاس میشه و نیازی به تعریف به صورت شی نداره.

fa_karoon
جمعه 15 مهر 1390, 09:19 صبح
شما مثلا به این روش عمل کنید :

1
2
3
4
5
public class Var
{
public string MyVar { get; set; }
}





اینجوری هر موقع بخوام به اون متغیر دسترسی داشته باشم باید حتما از کلاسم New کنم
بعدش هم هیچ کس جواب نداد کجا می تونم یه نمونه از کلاسم New کنم که دیگه تو تمام پروژه بهش دسترسی داشته باشم و نخوام هر بار که به اجزای اون کلاس نیاز دارم اولم کلاسم رو New کنم
از راهنمایی هاتون ممنون