Skip to content

Commit 2238e97

Browse files
committed
Added DefaultFormatProviderSelectorIGLib.cs - representing default IFormatProvider across IGLib
1 parent 038b045 commit 2238e97

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+

2+
using System;
3+
4+
namespace IGLib
5+
{
6+
7+
/// <summary>Provides the default format provider (object of type <see cref="IFormatProvider"/>)
8+
/// for cases where the format provider is not explicitly specified; e.g., in methods where
9+
/// <see cref="IFormatProvider"/> is a parameter, but is not provided by the caller (parameter
10+
/// is set to null).</summary>
11+
/// <remarks><para>Usage example:</para>
12+
/// <remarks>In constructors or methods that have <see cref="IFormatProvider"/> as parameter, also
13+
/// provide <see cref="IDefaultFormatProviderSelector?"/> as parameter, and default it to null.
14+
/// Then, within the constructor, check if fhe format provider parameter is null, and if yes,
15+
/// set it to what the default format provider selector's
16+
/// <see cref="DefaulltFormatProvider"/> returns. In applications, you can arrange for specific
17+
/// <see cref="IDefaultFormatProviderSelector"/> to be injected in all such constructors.</remarks>
18+
/// </remarks>
19+
public interface IDefaultFormatProviderSelector
20+
{
21+
22+
IFormatProvider DefaulltFormatProvider { get; }
23+
24+
}
25+
26+
27+
}

0 commit comments

Comments
 (0)