(برنامه نویسی سی شارپ ) متدهای توسعه یافته Methods Extensim در #C(مهندسی برق _ الکترونیک)

پژوهشگر و نویسنده: دانشجویِ دکترای تخصصی (  افشین رشید )

نکته: قابلیت جدید دیگر زبان 0.3# C ،متدهای توسعه یافته یا Methods Extensim است. این ویژگی به شما امکان می دهد تا قابلیت های جدیدی را به یک نوع داده ای یا type موجود اضافه کنید.

بدون این که نیاز داشته باشید آن type را به صورت یک زیر مجموعه یا Class کلاس به ارث رفته درآورد یا مجدداً کامپایلش کنید.به عبارت دیگر می توانید عملکردهای جدیدی را به یک نوع داده ای اضافه کنید، بدون این که نسخه اصلی آن را تغییر دهید.برای مثال ممکن است در موردی بخواهید بدانید یک نوع داده ای متنی یا string شامل اعداد است. راه حل عادی برای انجام این کار، تعریف یک تابع یا function بوده و هر زمان که نیاز دارید آن تابع را فراخوانی می کنید. پس از این که چند مدل از این نوع تابع ها را تعریف کردید، می توانید آن ها را در یک کالس به صورت زیر قرار دهید.

 (class utility: (

public class MyUtils

{

 public static bool IsNumeric(string s)

 {

 float output;

 return float.Try(s, out output);

 }

اما به وسیله متدهای توسعه یافته یا Methods Extension ،می توانید کلاس string را به گونه ای گسترش داده تا به صورت مستقیم عملیات فوق را انجام دهد. این کار با تعیین یک کلاس ثابت Class Static و تعریف چندین تابع ثابت Methods Static درون آن به عنوان کتابخانه ای از کدها، صورت می گیرد. مثال زیر، نحوه کدنویسی را به صورت عملی نشان داده است :

public static class My ExtensionMethods

{

 public static bool IsNumeric(this string s)

 {

 float output;

 return float.Try(s, out output);

 }

نکته : تنها چیزی که این متد را از سایر Methods Static ها، متمایز می کند، به کار بردن واژه کلیدی this در بخش پرانتز پارامترهای تابع است. این کلمه کلیدی به کامپایلر اطلاع می دهد که این تابع یک Extension Methods می باشد و تنها کار لازم جهت تبدیل یک متد معمولی به یک متد توسعه یافته است.پس از انجام مراحل فوق، می توانید تابع (IsNumeric) را به صورت مستقیم بر روی شی string به کار برد.

نویسنده: دانشجویِ دکترا (افشین رشید )

دانشجویِ دکترایِ نانو _ میکرو الکترونیک در دانشگاه آزاد اسلامی واحد علوم و تحقیقات تهران

انواع تراشه های قابل برنامه ریزیGAL و بلوک term logic (مهندسی برق _ الکترونیک)

قطعات قابل برنامه ریزی مانند ROM ،PLA ،PAL ،PLD در میکرو_ نانو الکترونیک (مهندسی برق _الکترونیک)

برنامه نویسی Python (آشنایی با ساختار و کتابخانه) مهندسی برق_ الکترونیک

(برنامه نویسی سی شارپ) کار با حلقه های Loops در #C (مهندسی برق_ الکترونیک)

(برنامه نویسی سی شارپ) مدیریت خطا Handling Exception در #C (مهندسی برق _ الکترونیک)

(برنامه نویسی سی شارپ)کار با Enumeration در زبان #C (مهندسی برق _ الکترونیک)

(برنامه نویسی سی شارپ) آموزش کار با پنجره Window Tool در ویژوال استودیو (مهندسی برق _ الکترونیک)

یک ,تابع ,static ,methods ,صورت ,یافته ,را به ,توسعه یافته ,به صورت ,می توانید ,methods extensim ,متدهای توسعه یافته ,output  return float , float output  return ,توسعه یافته methods

مشخصات

آخرین مطالب این وبلاگ

آخرین ارسال ها

آخرین جستجو ها


knimeprojedatamine deltatourism شبکه هاي اجتماعي در يک نگاه poonehfloweryst linuxpedia دکتر علی محمدی پور - با محوریت اقتصاد و صنعت (2) وبلاگ نمایندگی شهر کرد escoabidi cibfretcal با چهارده معصوم (ع)