Что такое рефлексия (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 динамически.