Search code examples
c#.netattributes

Can attributes be added dynamically in C#?


Is it possible to add attributes at runtime or to change the value of an attribute at runtime?


Solution

  • Attributes are static metadata. Assemblies, modules, types, members, parameters, and return values aren't first-class objects in C# (e.g., the System.Type class is merely a reflected representation of a type). You can get an instance of an attribute for a type and change the properties if they're writable but that won't affect the attribute as it is applied to the type.