PDA

View Full Version : Attribute چیست ؟



mahdi_negahi
شنبه 30 تیر 1386, 21:49 عصر
سلام اول اینو بگم بعنوان کسی که از سال 84 عضو بودم اول Search کردم اینم یافته ها
http://barnamenevis.org/forum/showthread.php?t=54062&highlight=Attribute
http://barnamenevis.org/forum/showthread.php?t=44016&highlight=Attribute
http://barnamenevis.org/forum/showthread.php?t=25301
ولی همچین هنوز برام مبهم . اگر یک آدم با حوصله یک توضیح کامل بده من ازش متشکرم

__H2__
یک شنبه 31 تیر 1386, 09:55 صبح
سلام
تاپیک ها را دیدم و تا حدودی حق با شماستف کمی (فقط یک کم) گنگ هستند!!!!
البته من هم اون فرد با حوصله نیستم ولی سعی میکنم یک چیزای بگم!!!!!

من با ساخت Attributes جدید کار ندارم... یعنی فعلاً می زاریم کنار تا از همین آماده ها استفاده کنید و ببینید به چه درد میخورند تا بعد!!!!

Attribute ها کاری روی بلاک کدهای شما انجام نمیدهند ولی برچسپ ی را به ان وصل میکنند که دیگر کدها میتوانند آن را شناسی کنند و براساس آن با کد یا کلاسس شما رفتار کنند.
مثلاً فلان فیلد در عملیات سریال سازی باید نادیده گرفته شود و یا مارشالینگ آرگومان در ارسال و دریافت به کدهای بومی چه طور باشد و یا برای تبدیلات کلاسس شما چه کلاسس مسئول باشد و....

مثلاً یک Attributes معروف را مثال میزنم.
property را که میدانید چیست؟؟؟ مشخصاتی که خصوصیات یک شی را میدهند یا تنظیم میکنند. و از طریق پنجره Properties قابل دستکاری هستند.
دقت کرده اید که اغلب خصوصیات وقتی پیش فرض هستند معمولی هستند و در کد سریال سازی هم نمی آیند ولی به محض تغییر Bold میشوند و کد مربوطه هم به فایل Designer اضافه میشود.
VS از کجا مقدار پیش فرض یک property را میفهمد؟؟؟؟
یکی از راه ها استفاده از Attributes زیر است
System.ComponentModel.DefaultValueAttributes
اگر در زمان تعریف یک property عددی خط زیر را به ان اضافه کنید:


[System.ComponentModel.DefaultValueAttributes(52)]

آنگاه عدد 52 مقدار پیش فرض خصوصیت مذکور میشود، اینکه وقتی کلاسس شما new میشود خصوصیت فوق 52 باشد یا نه به اهده خود شما است ولی اگر کلاسس شما پستش به پنجره Properties و بیافتد آنگاه Bold شدن یا نشدن و عمل کردن راست کلیک و انتخاب Reset بستگی دارد به این Attributes و یا کد شما به کد ساز خودکار designer بیافتد مشخص میشود که باید سریالی شود یا نه و....

mahdi_negahi
یک شنبه 31 تیر 1386, 10:35 صبح
دست شما در نکنه بازهم به شما ولی بازهم کاملتر که پرونده این attribute بسته شود