آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش مفهوم Reflection در زبان C#

آموزش Reflection در زبان C# :

در عمل کامپیوتر، مفهوم reflection به صورت زیر توضیح داده شده است :

"reflection به وسیله ای گفته می شود که در آن، برنامه کامپیوتری می تواند رفتار خود را مشاهده کرده و در صورت نیاز ساختار و عملکرد خود را تغییر دهید."

تعریف فوق، حالتی است که دقیقا C# مطابق آن عمل می کند. البته اگر بتوانید این موضوع را در کدنویسی خود به خوبی درک کنید، قابلیت امتحان کردن و تغییر اطلاعات برنامه تان در هنگام اجرا، پتانسیل و نیروی فوق العاده ای را در اختیار شما قرار می دهد. استفاده از Reflection به معنای واقعی کلمه، در زبان C#، بسیار ساده و کاربردی است.
در درس های این بخش، قصد داریم تا به آموزش کامل مفهوم Reflection در زبان C# و بررسی زوایای مختلف آن، همراه با مثال های عملی و وسورس کد پرداخته، تا متوجه شوید استفاده از این قابلیت، چقدر مفید و کاربردی است.
برای شروع آموزش و جالب تر شدن مسئله، به ارائه یک مثال عملی در زمینه reflection می پردازیم. قابلیت Reflection، به راحتی این سوال را که برنامه نویسان حرفه ای و تازه وارد، مدام با آن رو به رو هستند را پاسخ می دهد. چگونه می توانیم در زمان اجرا یا Run Time، مقدار یک متغیر را با داشتن نام آن تغییر دهیم؟
در کد مثال عملی زیر، با دقت بنگرید. سپس در ادامه این درس و بخش های بعدی به تشریح تکنیک های به کار رفته خواهیم پرداخت :

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace ReflectionTest
{
    class Program
    {
        private static int a = 5, b = 10, c = 20;

        static void Main(string[] args)
        {
            Console.WriteLine("a + b + c = " + (a + b + c));
            Console.WriteLine("Please enter the name of the variable that you wish to change:");
            string varName = Console.ReadLine();
            Type t = typeof(Program);
            FieldInfo fieldInfo = t.GetField(varName, BindingFlags.NonPublic | BindingFlags.Static);
            if(fieldInfo != null)
            {
                Console.WriteLine("The current value of " + fieldInfo.Name + " is " + fieldInfo.GetValue(null) + ". You may enter a new value now:");
                string newValue = Console.ReadLine();
                int newInt;
                if(int.TryParse(newValue, out newInt))
                {
                    fieldInfo.SetValue(null, newInt);
                    Console.WriteLine("a + b + c = " + (a + b + c));
                }
                Console.ReadKey();
            }
        }
    }
}
            

کد مثال فوق را اجرا کرده و مشاهده نمایید چگونه کار می کند. در درس های بعدی به تشریح نحوه عملکرد کد فوق خواهیم پرداخت.

  • 4629
  •    0
  • تاریخ ارسال :   1395/08/13

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .