SR
using FxResources.Microsoft.Extensions.DependencyInjection.Abstractions;
using System.Resources;
using System.Runtime.CompilerServices;
namespace System
{
internal static class SR
{
private static readonly bool s_usingResourceKeys = GetUsingResourceKeysSwitchValue();
private static ResourceManager s_resourceManager;
internal static ResourceManager ResourceManager => s_resourceManager ?? (s_resourceManager = new ResourceManager(typeof(FxResources.Microsoft.Extensions.DependencyInjection.Abstractions.SR)));
internal static string AmbiguousConstructorMatch => GetResourceString("AmbiguousConstructorMatch");
internal static string CannotResolveService => GetResourceString("CannotResolveService");
internal static string NoConstructorMatch => GetResourceString("NoConstructorMatch");
internal static string NoServiceRegistered => GetResourceString("NoServiceRegistered");
internal static string ServiceCollectionReadOnly => GetResourceString("ServiceCollectionReadOnly");
internal static string TryAddIndistinguishableTypeToEnumerable => GetResourceString("TryAddIndistinguishableTypeToEnumerable");
internal static string MultipleCtorsMarkedWithAttribute => GetResourceString("MultipleCtorsMarkedWithAttribute");
internal static string MarkedCtorMissingArgumentTypes => GetResourceString("MarkedCtorMissingArgumentTypes");
internal static string CannotCreateAbstractClasses => GetResourceString("CannotCreateAbstractClasses");
internal static string MultipleCtorsFoundWithBestLength => GetResourceString("MultipleCtorsFoundWithBestLength");
internal static string UnableToResolveService => GetResourceString("UnableToResolveService");
internal static string CtorNotLocated => GetResourceString("CtorNotLocated");
internal static string MultipleCtorsFound => GetResourceString("MultipleCtorsFound");
internal static string KeyedServicesNotSupported => GetResourceString("KeyedServicesNotSupported");
internal static string NonKeyedDescriptorMisuse => GetResourceString("NonKeyedDescriptorMisuse");
private static bool GetUsingResourceKeysSwitchValue()
{
if (!AppContext.TryGetSwitch("System.Resources.UseSystemResourceKeys", out bool isEnabled))
return false;
return isEnabled;
}
internal static bool UsingResourceKeys()
{
return s_usingResourceKeys;
}
private static string GetResourceString(string resourceKey)
{
if (!UsingResourceKeys()) {
string result = null;
try {
result = ResourceManager.GetString(resourceKey);
return result;
} catch (MissingManifestResourceException) {
return result;
}
}
return resourceKey;
}
private static string GetResourceString(string resourceKey, string defaultString)
{
string resourceString = GetResourceString(resourceKey);
if (!(resourceKey == resourceString) && resourceString != null)
return resourceString;
return defaultString;
}
[System.Runtime.CompilerServices.NullableContext(1)]
internal static string Format(string resourceFormat, [System.Runtime.CompilerServices.Nullable(2)] object p1)
{
if (UsingResourceKeys())
return string.Join(", ", resourceFormat, p1);
return string.Format(resourceFormat, p1);
}
[System.Runtime.CompilerServices.NullableContext(1)]
internal static string Format(string resourceFormat, [System.Runtime.CompilerServices.Nullable(2)] object p1, [System.Runtime.CompilerServices.Nullable(2)] object p2)
{
if (UsingResourceKeys())
return string.Join(", ", resourceFormat, p1, p2);
return string.Format(resourceFormat, p1, p2);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[return: System.Runtime.CompilerServices.Nullable(1)]
internal static string Format([System.Runtime.CompilerServices.Nullable(1)] string resourceFormat, object p1, object p2, object p3)
{
if (UsingResourceKeys())
return string.Join(", ", resourceFormat, p1, p2, p3);
return string.Format(resourceFormat, p1, p2, p3);
}
[System.Runtime.CompilerServices.NullableContext(1)]
internal static string Format(string resourceFormat, [System.Runtime.CompilerServices.Nullable(2)] params object[] args)
{
if (args != null) {
if (UsingResourceKeys())
return resourceFormat + ", " + string.Join(", ", args);
return string.Format(resourceFormat, args);
}
return resourceFormat;
}
[System.Runtime.CompilerServices.NullableContext(1)]
internal static string Format([System.Runtime.CompilerServices.Nullable(2)] IFormatProvider provider, string resourceFormat, [System.Runtime.CompilerServices.Nullable(2)] object p1)
{
if (UsingResourceKeys())
return string.Join(", ", resourceFormat, p1);
return string.Format(provider, resourceFormat, p1);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[return: System.Runtime.CompilerServices.Nullable(1)]
internal static string Format(IFormatProvider provider, [System.Runtime.CompilerServices.Nullable(1)] string resourceFormat, object p1, object p2)
{
if (UsingResourceKeys())
return string.Join(", ", resourceFormat, p1, p2);
return string.Format(provider, resourceFormat, p1, p2);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[return: System.Runtime.CompilerServices.Nullable(1)]
internal static string Format(IFormatProvider provider, [System.Runtime.CompilerServices.Nullable(1)] string resourceFormat, object p1, object p2, object p3)
{
if (UsingResourceKeys())
return string.Join(", ", resourceFormat, p1, p2, p3);
return string.Format(provider, resourceFormat, p1, p2, p3);
}
[System.Runtime.CompilerServices.NullableContext(1)]
internal static string Format([System.Runtime.CompilerServices.Nullable(2)] IFormatProvider provider, string resourceFormat, [System.Runtime.CompilerServices.Nullable(2)] params object[] args)
{
if (args != null) {
if (UsingResourceKeys())
return resourceFormat + ", " + string.Join(", ", args);
return string.Format(provider, resourceFormat, args);
}
return resourceFormat;
}
}
}