Что такое рефлексия (Reflection) в C#?

Этот вопрос проверяет знание о рефлексии, которая позволяет исследовать метаданные типов и их членов.

Короткий ответ

Рефлексия в C# — это процесс получения информации о типах, методах, свойствах и других элементах программы во время выполнения. Для этого используется пространство имен System.Reflection.

Длинный ответ

Рефлексия позволяет программе исследовать информацию о типах, методах, свойствах и других элементах кода во время выполнения. Это полезно, например, при динамическом вызове методов или анализе сборок. В C# для работы с рефлексией используется пространство имен System.Reflection.

 

Пример:

using System;
using System.Reflection;

public class Example
{
    public void Greet()
    {
        Console.WriteLine("Hello!");
    }
}

class Program
{
    static void Main()
    {
        var exampleType = typeof(Example);
        var methodInfo = exampleType.GetMethod("Greet");
        var exampleInstance = Activator.CreateInstance(exampleType);
        methodInfo.Invoke(exampleInstance, null);
    }
}

В этом примере используется рефлексия для вызова метода Greet динамически.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • C#

Подпишись на C# Developer в телеграм