PDA

View Full Version : سوال: نوشتن خصوصیات برای یک متد در کلاس



mrjahanbin
پنج شنبه 30 خرداد 1392, 22:40 عصر
سلام
من خصوصیات و متد ها رو در کلاس تازه شروع کردم الان یه سوال واسم درست شده گشتم چیزی پیدا نکردم!
چطوری میتونم واسه یک متد خصوصیت تعریف کنم یعنی یه چیزی اینجوری میخوام:


hello.hi.ok();

یکی دیگه هم که سوال داشتم انتخاب کردن بود.یه چیزی مثل این:


hello.hi.select.ok;

توی بالایی بعد از دات سلکت یه لیست باز بشه و بگه که کدوم رو میخوای و کاربر یکی رو انتخاب کنه.

پیشاپیش سپاسگزارم

esafb52
پنج شنبه 30 خرداد 1392, 23:03 عصر
دوست عزیز خاصیت یاپرارتی رو تا جایی که من میدونم برای فیلدها و اونم بخاطر کپسوله سازی و...پیاده میکنن ولی برای متد نشنیدم منظورت رو واضح تر بگو !کد کلاست رو بذار و بگو میخوای چکار کنی!!!!!!

mrjahanbin
پنج شنبه 30 خرداد 1392, 23:09 عصر
میخوام ببینم چطوری میشه چنین چیزی توی کلاس پیاده سازی کرد:

dataGridView1.AccessibilityObject.Bounds.Bottom.To String();

بعد از چند تا دات رسیده به متد تبدیل کردن با استرینگ.چطوری میشه اینجور چیزی رو توی یه کلاس پیاده سازی کنم مثلا بفرض وصل بشیم به دیتابیس و یه چیزی رو انتخاب کنیم(فرضه هااا).بعد از ارسال مقدارها به کلاس اینجوری بنویسیم بفرض:

connection.access.select();

این واسه سوال اولم بود.
واسه سوال دومم مسیج باکس رو دیدی وقتی میخوای دکمه ی روشو انتخاب کنی یا آیکنش رو فقط چندتا مقدار بهت میده که از بینشون انتخاب کنی؟میخوام ببینم چطوری میشه اینجور چیزی نوشت
اسم تاپیک اگه اشتباهه ببخشید نمیدونم آخه اسم چنین کاری چیه!!!

esafb52
جمعه 31 خرداد 1392, 01:14 صبح
دوست عزیز
پاسخ سوال اول شما:
در دات نت همه کلاس ها بطور پیش فرض از کلاس آبجکت ارث می برند و این کلاس شش متد داره که یکی شو شما اشاره کردین
پاسخ سوال دوم :
مبحث جالب اورلودینگ هست
در اونجا متد Show این کلاس چندین بار اورلد شده است یعنی اسم متد یکسان ولی پارامترهاش یا از لحاظ نوع یا تعداد با هم متفاوتن
امیدوارم پاسخم مفید باشه
موفق باشی

roolinjax
جمعه 31 خرداد 1392, 10:47 صبح
میخوام ببینم چطوری میشه چنین چیزی توی کلاس پیاده سازی کرد:

dataGridView1.AccessibilityObject.Bounds.Bottom.To String();

بعد از چند تا دات رسیده به متد تبدیل کردن با استرینگ.چطوری میشه اینجور چیزی رو توی یه کلاس پیاده سازی کنم مثلا بفرض وصل بشیم به دیتابیس و یه چیزی رو انتخاب کنیم(فرضه هااا).بعد از ارسال مقدارها به کلاس اینجوری بنویسیم بفرض:

connection.access.select();

این واسه سوال اولم بود.
واسه سوال دومم مسیج باکس رو دیدی وقتی میخوای دکمه ی روشو انتخاب کنی یا آیکنش رو فقط چندتا مقدار بهت میده که از بینشون انتخاب کنی؟میخوام ببینم چطوری میشه اینجور چیزی نوشت
اسم تاپیک اگه اشتباهه ببخشید نمیدونم آخه اسم چنین کاری چیه!!!

سلام
چند تا دات گذاشتن نشان زیر مجموعه شدنه
برای اینکار شما باید کلاسهایی رو به صورتی تعریف کنید که در داخل هم ، دیگری رو صدا بزنن
البته برای اینکار باید اصولی رفتار کنید.(بی دلیل که نباید تقسیم بندی کنید)
اگر روش ساخت متد رو بلیدن که فکر می کنم جوابتون رو گرفته باشید وگرنه بگید تا کد ساخت متد رو که خیلی هم ساده هست رو بذارم

mrjahanbin
جمعه 31 خرداد 1392, 12:13 عصر
ممنونم از جوابهاتون.
من به اینجا رسیدم که یه کلاس2 درون کلاس 1 تعریف شده و کلاس 2 یک متد داره مثلا به اسم سلکت.تا اینجا درست.ولی استفاده از این متد به این صورت در نمیاد:

class1.class2.select();

به شکل زیر در میاد:

class1.class2 cl = new class1.class2();
cl.select();

سوالم اینه چطوری به اون صورت اول در بیاد.اگه اون چیزی دیگه ست و من اشتباه میکنم هم بگین.ممنون
اما سوال دومم
من بخش انتخاب دکمه ی روی مسیج باکس و انتخاب آیکن برای مسیج باکس رو گفتم که گویا از متغییرهای شمارش استفاده میشه.باید برم تست کنم.سوال دو زیاد مهم نیست راه حلش آسونه اون اولی رو من میخوام.
بازم ممنونم

jeson_park
جمعه 31 خرداد 1392, 12:29 عصر
به اینا میگن Nested type (http://msdn.microsoft.com/en-us/library/ms173120%28v=vs.80%29.aspx)
جواب سوال اولتون سادست: باید به صورت static تعریف بشن




public static class class1
{
public static class class2
{


public class2()
{
}
public static select
{

}
}
}


در مورد سوال دوم از نوع شمارشی MessageBoxButtons (http://msdn.microsoft.com/en-us/library/system.windows.forms.messageboxbuttons.aspx) استفاده می شه و شامل اعضای زیر هست

AbortRetryIgnore
OK
OKCancel
RetryCancel
YesNo
YesNoCancel

roolinjax
جمعه 31 خرداد 1392, 12:38 عصر
این شکلی یه کلاس به نام class1 بنویس :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace classHa
{
class Class1
{
public class class2
{
public static void select()
{
}
}
}
}

و این شکلی فراخوانی کن :
private void button1_Click(object sender, EventArgs e)
{
Class1.class2.select();
}

mrjahanbin
جمعه 31 خرداد 1392, 13:08 عصر
چقدر جالب بود دیگه نیاز به نیو نداره!!!
ممنونم از همتون