PDA

View Full Version : سوال: عدم نیاز به تایپ Math



HAIdle
چهارشنبه 26 تیر 1387, 02:08 صبح
برای استفاده از توابع کلاس Math باید چکار کرد که هر دفعه نیاز نباشد خود Math نیز تایپ شود؟
مثلا فرض کنید تابع Math.exp را میخواهیم اجرا کنیم. باید چکار کنیم که در برنامه فقط نوشتن exp کافی باشد و نیاز به نوشتن Math نباشد؟

m0rteza
چهارشنبه 26 تیر 1387, 15:45 عصر
C# برای راحتی تمامی عضو های کلاس Math را Static کزده و توابع استاتیک هم با نام کلاس صدا زده میشن

HAIdle
چهارشنبه 26 تیر 1387, 16:28 عصر
ممنونم.
میشه بیشتر توضیح بدید؟ استاتیک کرده یعنی چه و این کار چگونه باعث راحتی بیشتر شده است؟

Sajjad.Aghapour
چهارشنبه 26 تیر 1387, 17:34 عصر
یعنی شما می تونید بدون ایجاد آبجکتی از نوع Math به اعضای اون دسترسی داشته باشی.
به جای اینکه به صورت زیر بنویسی


Math obj = new Math();
obj.Pow(..);

اینطوری مینویسی


Math.Pow(..);

razavi_university
چهارشنبه 26 تیر 1387, 19:16 عصر
دوستان عزیز سوال HAIdle (http://barnamenevis.org/forum/member.php?u=19056)اصلا بحث در مورد Static و غیره نبود (http://barnamenevis.org/forum/member.php?u=19056) ایشون صرفا می خواستند نحوه خلاصه نویسی برای کدشون رو بدونند.
اگر Math یک فضای نام (NameSpace) می بود با اضافه کردن آن به لیست فضاهای نام بالای صفحه دیگر به نوشتن آن نیازی نبود ولی Math یک کلاس در فضای نام System است ونمی توان آنرا به آن لیست اضافه کرد و VS برای خلاصه نویسی Using System رو اضافه کرده تا دیگر نیازی به نوشتن System.Math نداشته باشید و صرفا Math را بنویسید.
البته شما می تونین معادلی(Alias) با کلمه Math قرار دهید به اینصورت :


using MyWord= System.Math;

که در اینحالت می توانید از MyWord به جای Math استفاده کنید

شاید روشی وجود داشته باشه ولی من همینقدر بلد بودم

gdevnb
پنج شنبه 27 تیر 1387, 01:56 صبح
سلام
من موندم چه نیازی به این کار هستش اگه صرفاً در حد یه کنجکاویه که جوابتون رو گرفتید ولی اگه حتماً باید یه همچین کاری رو انجام بدین.
یه تابع به exp تعریف کن و مقدار معادل آنرا در کلاس مورد نظر (Math) فراخوانی کن.
البته این روش پیشنهاد نمیشه.