diff --git a/docs/core/extensions/configuration.md b/docs/core/extensions/configuration.md index b83db3d94099a..17b226f0b59d8 100644 --- a/docs/core/extensions/configuration.md +++ b/docs/core/extensions/configuration.md @@ -73,11 +73,13 @@ One of the key advantages of using the .NET configuration abstractions is the ab These abstractions are agnostic to their underlying configuration provider (). In other words, you can use an `IConfiguration` instance to access any configuration value from multiple providers. -The binder can use different approaches to process configuration values:​ +The binder can process configuration values in several ways: -- Direct deserialization (using built-in converters) for primitive types​. -- The for a complex type when the type has one​. -- Reflection for a complex type that has properties. +- Use a single configuration value directly for a `string` or `object` target, or convert it to a common .NET type, such as a numeric type, an enumeration, or a nullable type. The binder converts a Base64-encoded string to a byte array. +- Bind hierarchical configuration to an object's properties or constructor parameters. +- Bind child configuration sections to arrays, collections, sets, and dictionaries. +- Use the matching configuration section directly when the target type is . +- Convert a single configuration value to a custom type. The default binder uses a when the custom type defines one. The source generator binder doesn't support this. > [!NOTE] > The binder has a few limitations: