---
title: "Reflection in C#"  
description: "In this blog, I’m explaining the concept of reflection class in C#.  Reflection allows an application to collect information about itself and also to"  
author: "Anchal Kesharwani"  
published: 2014-08-14  
updated: 2014-09-18  
canonical: https://www.mindstick.com/blog/686/reflection-in-c-sharp  
category: "c#"  
tags: ["c#"]  
reading_time: 1 minute  

---

# Reflection in C#

In this blog, I’m explaining the [concept of reflection](https://www.mindstick.com/forum/158580/discuss-the-concept-of-reflection-in-the-dot-net-framework-and-its-practical-applications) [class in C#](https://www.mindstick.com/forum/160399/how-to-create-a-custom-generic-class-in-c-sharp-provide-an-example).\

Reflection allows an [application](https://www.mindstick.com/articles/12824/calculator-application-in-android) to collect information about itself and also to manipulate on itself. It can be used to find all types in an [assembly](https://www.mindstick.com/articles/25/global-assembly-cache) and/or dynamically invoke methods in an assembly. Reflection is the process by which a program can read its own metadata. A program is said to reflect on itself, extracting metadata from its assembly and using that metadata either to inform the user or to modify its own behavior.

Reflection use the System.Reflection namespace. System.Reflection contains the classes and [interfaces](https://www.mindstick.com/articles/12100/interfaces-in-java-real-life-example) that a managed view of loaded types, methods, and fields, with the ability to dynamically create and invoke types. It has contain Type class is the main class for the reflection functionality. Type class uses the System.Type namespace.

##### The role of reflection

In short, reflection provides the following [features](https://www.mindstick.com/articles/12993/5-advanced-features-for-your-odoo-ecommerce-theme):

- View and traverse the information of the basic types (and their members) and the metadata inside assemblies.
- Late [bind methods](https://www.mindstick.com/forum/160784/what-is-the-difference-between-call-apply-and-bind-methods-in-javascript) and [properties](https://www.mindstick.com/articles/23331/nootropics-7-different-types-and-their-unique-properties).
- Dynamically create type [instances](https://answers.mindstick.com/qa/92508/how-can-you-hide-the-sql-server-instances) (and can dynamically invoke the methods, fields, properties in created instances).

---

Original Source: https://www.mindstick.com/blog/686/reflection-in-c-sharp

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
