Attribute چیست؟

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 بیافتد مشخص میشود که باید سریالی شود یا نه و....

منبع:barnamenevis.org

/ 0 نظر / 497 بازدید